我制作了一个自定义调解器,只需打印“Hello World”,我的自定义调解器如下所示:
public class HelloWorld extends AbstractMediator implements ManagedLifecycle{
public static void helloWorld() {
System.out.println("Hello World");
}
public void init(SynapseEnvironment synapseEnvironment) {
// initializing surcharges map with some symbols
helloWorld();
}
public void destroy() {
// clearing the surcharges contents
}
@Override
public boolean mediate(MessageContext arg0) {
// TODO Auto-generated method stub
return false;
}
}
我按顺序调用这个类,称为“Hello”:
<sequence name="Hello">
<class name="com.exec.HelloWorld">
</class>
我在代理中使用这个序列,如下所示:
<proxy xmlns="http://ws.apache.org/ns/synapse" name="FileProxy" transports="vfs" startOnLoad="true" trace="disable">
<target>
<inSequence>
<log level="full"/>
<target sequence="Hello"/>
</inSequence>
</target>
<parameter name="transport.vfs.ActionAfterProcess">MOVE</parameter>
<parameter name="transport.PollInterval">15</parameter>
<parameter name="transport.vfs.MoveAfterProcess">file:///Users/Source</parameter>
<parameter name="transport.vfs.FileURI">file:///Users/Target/</parameter>
<parameter name="transport.vfs.FileNamePattern">.*.txt</parameter>
<parameter name="transport.vfs.ContentType">text/plain</parameter>
我希望每次我在 Source 文件夹中放置一个文件 (*.txt) 时都会调用我的序列。但问题是该序列只被调用一次(当 wso2 esb 启动时)。每次将文件放入源文件夹时,如何调用我的序列?
谢谢,