我想在任何骡子应用程序启动之前做一些事情。根据 Mule 文档,我们可以为此编写自定义代理。但是,当 mule 启动时,我的代理没有加载。
任何人都可以帮助我提供有关如何创建自定义代理的示例。
我已经创建了一个测试程序,如下所示
CustomAgent 类
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();
}
}
这是我的 CustomAgent.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
但它没有作为代理加载。
请帮忙!