Mule Api打war包

阅读更多

1.追加src/main/webapp/WEB-INF/web.xml



 
    
        org.mule.config
        
        
       shopcategory-error.xml,shopcategory.xml
    
 
    
        org.mule.config.builders.MuleXmlBuilderContextListener
    
 
    
        muleServlet
        org.mule.transport.servlet.MuleReceiverServlet
    
    
        muleServlet
        /*
    

 

2.将pom.xml文件中packaging改为"war"

3.将inbound HTTP组件改为Servlet组件, 如下 :

 如果需要的话, 可以在Global Element中追加Servlet connector,如下:

 

 

4.当你需要获取到request body的时候,需要追加ServletMuleMessageFactory.java.(Ref:http://819342090.iteye.com/admin/blogs/2343167)

5.修改log4j.xml中log文件的路径

   发布到tomcat,log文件的路径就改为${catalina.base}/logs/XXXX.log

   发布到weblogic,log文件的路径就改为servers/myserver/logs/XXXX.log

6.发布

 

 

注意点:

HTTP组件改为Servlet组件之后的message属性有很多改变,很多inbound属性的属性名发生变化,也有些属性的属性值发生变化。

 

如果发布到weblogic,需要注意项目中读取resource文件的操作。因为war包在weblogic中发布的时候,是不会被解压的,所有读取文件会变为读取_wl_cls_gen.jar中的文件。所以都要按照读取jar包的方法来读取文件。如下:

//File file = new File(this.getClass().getResource("/XQueries/CategorySetsGetResponse.xq").getPath());
//InputStream in = new FileInputStream(file);
ClassLoader classloader =Thread.currentThread().getContextClassLoader();
InputStream in =classloader.getResourceAsStream("/XQueries/CategorySetsGetResponse.xq");

 参考文件

https://docs.mulesoft.com/mule-user-guide/v/3.4/deploying-mule-as-a-service-to-tomcat

https://docs.mulesoft.com/mule-user-guide/v/3.4/servlet-endpoint-reference

https://docs.mulesoft.com/mule-user-guide/v/3.4/servlet-transport-reference

https://docs.mulesoft.com/mule-user-guide/v/3.4/servlet-transport-reference

https://dzone.com/articles/deploying-mavenized-mule-webapp-on-tomcat

你可能感兴趣的:(mule,war)