当mule项目转换为web应用程序时,mule ajax连接器中使用的app.home不起作用

当mule项目转换为web应用程序时,mule ajax连接器中使用的app.home不起作用,mule,mule-studio,Mule,Mule Studio,在mule中,当我在web应用程序中使用web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_ID"> <!--Mule configuration (Mule format)--> <context-param> <param-name>org.mule.config</param-name> <param-valu

在mule中,当我在web应用程序中使用
web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID">
 <!--Mule configuration (Mule format)-->
  <context-param>
    <param-name>org.mule.config</param-name>
    <param-value>flight-config.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>100</load-on-startup>
  </servlet>
 <!--Mule configuration ends-->
</web-app>
在WebContent中,我创建了一个文件夹
docroot
,并在其中创建了相应的文件,我在web应用程序中使用的连接器是

<ajax:connector name="ajaxServer" serverUrl="http://0.0.0.0:9092/reservation" resourceBase="/docroot" doc:name="Ajax"/>


但这是行不通的。此错误的原因可能是什么?

var${app.home}由mule standalone容器设置,因此,在webapp中运行它时,您有两个选项:

  • 自己设置变量
  • 将其更改为相对于webapp位置的路径

  • var${app.home}由mule standalone容器设置,因此,在webapp中运行它时,有两个选项:

  • 自己设置变量
  • 将其更改为相对于webapp位置的路径

  • 我是这样做的:

    添加了一个ContextListener扩展MuleXmlBuilderContextListener,它执行以下操作

    ServletContext context = event.getServletContext();
        System.setProperty("rootPath", context.getRealPath("/"));
        initialize(context);
    
    并使用如下根路径:

    <ajax:connector name="ajaxServer" serverUrl="http://0.0.0.0:9092/reservation" resourceBase="${rootPath}WEB-INF/docroot" doc:name="Ajax"/>
    
    
    

    现在应用程序正在运行。

    我是这样做的:

    添加了一个ContextListener扩展MuleXmlBuilderContextListener,它执行以下操作

    ServletContext context = event.getServletContext();
        System.setProperty("rootPath", context.getRealPath("/"));
        initialize(context);
    
    并使用如下根路径:

    <ajax:connector name="ajaxServer" serverUrl="http://0.0.0.0:9092/reservation" resourceBase="${rootPath}WEB-INF/docroot" doc:name="Ajax"/>
    
    
    
    现在应用程序正在运行