1

我正在尝试将 Java servlet 转换为 Mule Web 服务,但我的程序不止一个类。我已经看过很多关于在 Java 组件中使用带有 Mule 的 POJO 的教程,但从来没有看到一个包含多个类的程序。如何才能做到这一点?

编辑:我的 servlet 当前正在 Tomcat 服务器上运行。它接收一个带有搜索详细信息的 xml 文档,搜索一个数据库,然后输出一个带有搜索结果的 xml 文档。xml的解析和生成,数据库的连接和查询目前都由servlet处理。我只想能够使用Mule而不是在tomcat服务器上运行它。

4

1 回答 1

3

得益于其嵌入式 Jetty 容器,Mule 可以运行 JavaEE 网络应用程序。

查看与独立发行版捆绑在一起的 Bookstore 示例,了解它是如何完成的。这个例子确实在 Mule 中独立部署了两个 Web 应用程序bookstorebookstore-admin 。

假设你的 web-app 是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/** 下的库。

于 2013-01-21T16:25:46.250 回答