我试图将Java servlet变成Mule Web服务,但是我的程序有多个类。我看过很多关于在Java组件中将POJO与Mule一起使用的教程,但是从来没有一个带有多个类的程序。如何才能做到这一点?
编辑:我的servlet当前正在tomcat服务器上运行。它接收一个包含搜索详细信息的xml文档,搜索一个数据库,然后输出一个包含搜索结果的xml文档。xml的解析和生成以及数据库的连接和查询目前都由servlet处理。我只想能够使用Mule而不是tomcat服务器上运行它。
由于其嵌入式Jetty容器,Mule可以运行JavaEE Web应用程序。
查看独立发行版随附的Bookstore示例,以了解其完成方式。此示例确实在Mule独立环境中部署了两个Web应用程序, bookstore 和 bookstore-admin 。
假设您的Web应用程序为 xmlproc.war ,则您在Mule应用程序Zip中 所需 的布局为:
. ├── mule-config.xml ├── classes │ ├── <classes and resources from xmlproc/WEB-INF/classes> ├── lib │ ├── <non-provided libs from xmlproc/WEB-INF/lib> └── webapps └── xmlproc ├── <jsps> └── WEB-INF └── web.xml
使用mule-config.xml:
<?xml version="1.0" encoding="UTF-8"?> <mule xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jetty="http://www.mulesoft.org/schema/mule/jetty" xsi:schemaLocation=" http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd http://www.mulesoft.org/schema/mule/jetty http://www.mulesoft.org/schema/mule/jetty/current/mule-jetty.xsd"> <jetty:connector name="jettyConnector"> <jetty:webapps directory="${app.home}/webapps" port="8083"/> </jetty:connector> </mule>
未提供的 库意味着您不应嵌入$ MULE_HOME / lib / **下的库。