码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2015-12-16 19:18:26      阅读:907      评论: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

(1)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!