将 Mule 应用程序转换为可部署的 WAR

Posted

技术标签:

【中文标题】将 Mule 应用程序转换为可部署的 WAR【英文标题】:Mule application into a deployable WAR 【发布时间】:2013-01-27 16:02:49 【问题描述】:

如何将 Mule 应用程序直接转换为 war 文件,以部署在 Jboss 应用程序服务器中,我尝试手动创建 war 文件但失败了,如提到的 here 并经历了 this,但仍然没有无法清楚地了解这部分。提供示例帮助。注意:我的示例 mule 应用程序中没有 Mule-config.xml 文件

【问题讨论】:

我对骡子很陌生,需要帮助才能走得更远。提前致谢 分享您尝试创建的应用程序遇到的错误。 您的 Maven 项目打包是否设置为“战争”? Mule 配置文件的名称是什么?同时分享您的web.xml 配置。 大家好,我无法创建作为我的主要问题的战争。@David Dossot,我的骡子项目中没有 web.xml 文件。如何从头开始创建战争请帮忙。我已经安装了maven插件,但是创建了一个项目为Mule项目,我是否也需要更改项目类型? 它并不是真正的“可转换”。您可能可以重用大部分逻辑,但您需要重新制作项目结构并再次测试它,因为事情有点不同 【参考方案1】:

这里有必要的步骤: http://www.mulesoft.org/documentation/display/current/Deploying+Mule+to+JBoss

【讨论】:

【参考方案2】:pom.xml 中,确保您有<packaging>war</packaging> 使用下面的模板创建src/main/webapp/WEB-INF/web.xml,将YOUR_CONFIGS 替换为以逗号分隔的Mule 配置列表,并将YOUR_PATH 替换为Mule servlet 所需的路径, 用 Servlet 端点替换所有入站 HTTP 端点,例如 <servlet:inbound-endpoint path="/YOUR_ENDPOINT_PATH" />

你应该很高兴!

web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    version="2.5">

    <context-param>
        <param-name>org.mule.config</param-name>
        <param-value>YOUR_CONFIGS</param-value>
    </context-param>

    <listener>
        <listener-class>org.mule.config.builders.MuleXmlBuilderContextListener</listener-class>
    </listener>

    <servlet>
        <servlet-name>muleServlet</servlet-name>
        <servlet-class>org.mule.transport.servlet.MuleReceiverServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>muleServlet</servlet-name>
        <url-pattern>/YOUR_PATH/*</url-pattern>
    </servlet-mapping>
</web-app>

编辑我已经开源了一个正在运行的演示:https://github.com/ddossot/mule-webapp-example

【讨论】:

感谢@David Dossot .. 请问我如何将 mule 项目(没有 maven)直接部署到 Mule 独立运行时。是否有像 Jboss 这样的 Deploy 文件夹,在此过程之前我需要以特定格式构建 Mule 项目,请协助.. 这是一个完全不同的问题,你在这里问,这不是很好的评论。您应该使用 Maven 将 Mule 应用程序(打包 = mule)打包到可部署的 ZIP 中,然后将其放入 MULE_HOME/apps(Mule 独立的部署文件夹)中。如果您坚持不使用 Maven,则必须构建遵循以下格式的 ZIP:mulesoft.org/documentation/display/current/Application+Format

以上是关于将 Mule 应用程序转换为可部署的 WAR的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 Jenkins 管道在本地部署 mule 4 应用程序

在 tomcat 或 jetty 中部署 mule 应用程序时,如何在 configuration.xml 文件中将 http 端点更改为 servlet 端点?

一个 Spring Boot 项目,部署到 JAR 或 WAR

SpringCloud Alibaba微服务工程搭建(保姆级)

玩转spring boot——war部署

使用 C 将 COMP 和 COMP-3 Packed Decimal 转换为可读值