如何加载Mule XML配置

如何加载Mule XML配置,mule,Mule,我试着效仿这个例子 在一个遗留项目上,我创建了一个主类,其中包含一个主方法,可以像这样启动spring(或者我认为这就是如何做到的) 但是我将telnet连接到我的Web服务端口,但它不起作用 它应该启动自己的web容器/服务器,还是需要部署到tomcat或某个应用程序服务器才能正常工作 如果#1的答案是需要部署,为什么在他们的示例中会指定一个绝对url,就像它会为您启动一个一样 如何让它工作 这是我的xml <flow name="helloService"> <h

我试着效仿这个例子

在一个遗留项目上,我创建了一个主类,其中包含一个主方法,可以像这样启动spring(或者我认为这就是如何做到的)

但是我将telnet连接到我的Web服务端口,但它不起作用

  • 它应该启动自己的web容器/服务器,还是需要部署到tomcat或某个应用程序服务器才能正常工作
  • 如果#1的答案是需要部署,为什么在他们的示例中会指定一个绝对url,就像它会为您启动一个一样
  • 如何让它工作

    这是我的xml

    <flow name="helloService">
        <http:inbound-endpoint address="http://localhost:63081/enrollment" exchange-pattern="request-response">
            <cxf:jaxws-service serviceClass="com.ifp.esb.integration.ingest.EnrollmentWS"/>
        </http:inbound-endpoint>
        <component> 
            <spring-object bean="enrollmentBean" />  
        </component> 
    </flow>
    

    您需要使用Mule特定的Spring config loader:

    SpringXmlConfigurationBuilder builder = new SpringXmlConfigurationBuilder("mule-config.xml");
    MuleContextFactory muleContextFactory = new DefaultMuleContextFactory();
    MuleContext muleContext = muleContextFactory.createMuleContext(builder);
    muleContext.start();
    

    您也可以使用webapp启动mule上下文。请确保已将其标记为启动时加载

    下面是web.xml的一个示例

    <web-app
    xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-app_2_4.xsd"
    version="2.4">
    <context-param>
        <param-name>org.mule.config</param-name>
        <param-value>
            mule-config.xml,
            mule-config2.xml,
                ...
            mule-config99.xml
        </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>
        <load-on-startup>1</load-on-startup>
    </servlet>
    
    <servlet-mapping>
        <servlet-name>muleServlet</servlet-name>
        <url-pattern>/muleservlet/*</url-pattern>
    </servlet-mapping>
    </web-app>
    
    
    org.mule.config
    mule-config.xml,
    mule-config2.xml,
    ...
    mule-config99.xml
    org.mule.config.builders.MuleXmlBuilderContextListener
    穆勒塞维特
    org.mule.transport.servlet.MuleReceiverServlet
    1.
    穆勒塞维特
    /穆勒塞维特/*
    
    <web-app
    xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-app_2_4.xsd"
    version="2.4">
    <context-param>
        <param-name>org.mule.config</param-name>
        <param-value>
            mule-config.xml,
            mule-config2.xml,
                ...
            mule-config99.xml
        </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>
        <load-on-startup>1</load-on-startup>
    </servlet>
    
    <servlet-mapping>
        <servlet-name>muleServlet</servlet-name>
        <url-pattern>/muleservlet/*</url-pattern>
    </servlet-mapping>
    </web-app>