Я делаю собственный посредник, который просто печатает «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>
and i use this sequence in proxy like this :
<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>
Я ожидаю, что каждый раз, когда я помещаю файл (*.txt) в исходную папку, будет вызываться моя последовательность. Но проблема в том, что последовательность вызывается только один раз (при запуске wso2 esb). Как сделать так, чтобы моя последовательность вызывалась каждый раз, когда я помещаю файл в исходную папку?
Спасибо,