「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>
ファイル (*.txt) をソース フォルダーに入れるたびに、シーケンスが呼び出されることを期待しています。しかし問題は、シーケンスが 1 回だけ呼び出されることです (wso2 esb の起動時)。ファイルをソース フォルダに置くたびにシーケンスが呼び出されるようにするにはどうすればよいですか?
ありがとう、