将Mule ESB Http项目转换为Tomcat项目(5) 改造Tomcat

你离开我真会死。 提交于 2019-11-29 03:04:22

    需要运行ESB项目转换的web项目的Tomcat最低版本要求是7.0.50,我们使用了7.0.69。Tomcat需要做以下改动:

1)修改conf/server.xml文件,添加以下代码:

  

  <Listener className="org.mule.module.tomcat.MuleTomcatListener" />

2)在tomcat根目录下新建名为mule_libs的目录,将mule studio使用的mule esb运行时环境jar包(除了boot目录外)拷贝到mule_libs目录下:

然后将boot目录下的以下jar包拷贝到mule_libs/opt目录下

  • commons-cli-<version>.jar
  • disruptor-<version>.jar
  • jcl-over-slf4j-<version>.jar
  • log4j-jcl-<version>.jar
  • slf4j-api-<version>.jar
  • wrapper-<version>.jar

再将anypoint studio的data weaver plugin下的jar包拷贝到mule_libs/opt目录下

3)修改conf/catalina.properties文件,修改common.loader

common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,
${catalina.home}/lib,${catalina.home}/lib/*.jar,
${catalina.home}/opt_lib/*.jar,${catalina.home}/mule-libs/user/*.jar,
${catalina.home}/mule-libs/mule/*.jar,${catalina.home}/mule-libs/opt/*.jar,
${catalina.home}/mule-libs/endorsed/*.jar

修改完成后,将系列4生成的war包拷贝到webapps目录下,启动tomcat

访问url格式为

http://<host>:<port>/<name-of-war-file>/name-of-servlet-path/name-of-inbound-path

我们的tomcat使用的是默认设置,servlet path设置为/*,流程文件中设置的inbound endpoint path是Test

因此我们部署的testproject.war包访问的地址是

http://localhost:8080/testproject/Test

我们使用Advanced Rest Client访问这个url

访问结果和直接访问ESB项目一样。

测试使用的ESB项目和改造后的web项目已经上传到github上,网址是:

https://github.com/yosaku01/testproject.git (ESB http项目)
https://github.com/yosaku01/testproject_tomcat.git (改造后的web项目)
 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!