MULE 创建自定义代理



我想在任何骡子应用程序启动之前做一些事情。根据Mule文档,我们可以为此编写自定义代理。但是,当骡子启动时,我的代理没有加载。

谁能帮我提供一个关于如何创建自定义代理的示例。

我已经创建了一个相同的测试程序,如下所示

自定义代理类

package agent;
import org.mule.api.MuleException;
import org.mule.api.agent.Agent;
import org.mule.api.lifecycle.InitialisationException;
public class CustomAgent implements Agent{
    public CustomAgent() {
    }
    private String port;
    public String getPort() {
        return port;
    }
    public void setPort(String port) {
        this.port = port;
    }
    @Override
    public void initialise() throws InitialisationException {
        System.out.println("Initialize on port: " + port);
    }
    @Override
    public void start() throws MuleException {
        System.out.println("Started on port: " + port);
    }
    @Override
    public void stop() throws MuleException {
        System.out.println("Stopping the agent");
    }
    @Override
    public void dispose() {
        // TODO Auto-generated method stub
    }
    @Override
    public void setName(String name) {
        this.port = name;       
    }
    @Override
    public String getName() {
        return port;
    }
    @Override
    public String getDescription() {
        // TODO Auto-generated method stub
        return getName();
    }

}

这是我的自定义代理.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
    xmlns:spring="http://www.springframework.org/schema/beans" version="EE-3.3.3"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd">
    <custom-agent name="mycustomagent" class="agent.AgentTest">
        <spring:property name="port" value="8899"></spring:property>
    </custom-agent>
</mule>

我尝试导出 jar 文件并放入

MULE_HOME\lib\opt

MULE_HOME\lib\user

但它没有作为代理加载。

请帮忙!

您有两个选项可以在 Mule 中运行代理,具体取决于您的实际用例:
一个。您可以将其部署为常规的Mule应用程序,即具有适当结构的zip文件,其中包含XML配置和代理的类。
b.您将其打包为jar,并在另一个Mule应用程序中声明代理配置,即将其包含在另一个Mule应用程序中:

<custom-agent name="mycustomagent" class="agent.AgentTest">
    <spring:property name="port" value="8899"></spring:property>
</custom-agent>

相关内容

  • 没有找到相关文章

最新更新