首页 > 移动平台 > 详细

netflix zuul-simple-webapp.war在tomcat下启动

时间:2015-12-16 19:17:50      阅读:648      评论:0      收藏:0      [点我收藏+]

按照netflix 在github 的wiki的文档使用

gradlew jettyRun

可以启动jetty来进行测试。

在本地build war 以后,我放在tomcat 运行的时候,却不可以运行。

这里遇到了一些问题,记录如下:

1. Connection pool is shut down.

经查,这个是样例中groovy/filters/route/SimpleHostRoutingFilter 使用HttpClient 不当的问题。

在启动jetty中也可以观察到。

技术分享
 
2. url在tomcat 无法打开的问题
在github 的wiki 文档中可以看到 localhost:8080/ 是可以看到apache.org的页面的。
而在tomcat中明显需要 ContextPath. 于是切换成 localhost:8080/zuul/ 无法看到任何东西。
 
原因在于,其中routing 的时候,在 groovy/filters/route/SimpleHostRoutingFilter 中使用了
request.getRequestUri()
其中包含了 /zuul/
于是本来是请求 http://apache.org/ 的,在tomcat中变成了 http://apache.org/zuul,于是tomcat中请求就无法正常相应了。
 
解决方案:
修改groovy/filters/route/SimpleHostRoutingFilter 中代码
 

netflix zuul-simple-webapp.war在tomcat下启动

原文:http://www.cnblogs.com/lykm02/p/5051671.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!