What kind of error can action in piple throw all the way to fs-message-filter to move files to error folder?
adit Apr 5, 2013 1:23 PMHello,
When the process(Message) method throws an ActionProcessingException, i was expecting the JMS Listener to throw the Exception all the up so that fs- provider, to move the input file to error dir, but instead, it just names it as .sendEsb and moves it to the processed folder
what do i have to implement further to make the jms and fs listeners stop listening and make ESB act dead it a critical error is thrown ?
what kind of Error Class can make fs-message-filter move the files to error folder, or stop it to listen?
below is my jboss-esb.xml
<providers>
<fs-provider name="FSprovider" >
<fs-bus busid="FileChannel" >
<fs-message-filter
directory="${SOURCE.DIRECTORY}"
input-suffix=".TR"
work-suffix=".esbWorking"
post-delete="false"
post-directory="${SOURCE.PROCESSED.DIRECTORY}"
post-suffix=".sentToEsb"
error-delete="false"
error-directory="${SOURCE.ERROR.DIRECTORY}"
error-suffix=".inError"
/>
</fs-bus>
</fs-provider>
<jms-provider connection-factory="ConnectionFactory" name="ftp_GW" >
<jms-bus busid="ftp_JMS" >
<jms-message-filter dest-name="/queue/GW" dest-type="QUEUE" />
</jms-bus>
</jms-provider>
</providers>
<services>
<service category="Stealt" description="blabla" name="Service" invmScope="GLOBAL">
<property name="maxThreads" value="1" />
<listeners >
<fs-listener name="FileGateway" busidref="FileChannel"
is-gateway="true" maxThreads="1" schedule-frequency="1" >
</fs-listener>
<jms-listener busidref="ftp_JMS" name="JMSListener"
maxThreads="1"/>
</listeners>
<actions mep="OneWay">
<action
class="com.actions.Action" name="Transformer" >
<property name="springContextXml" value="applicationcontext.xml"/>
</action>
</actions>
</service>
</services>
Action Implementation
import org.jboss.soa.esb.actions.AbstractActionLifecycle;
import org.jboss.soa.esb.helpers.ConfigTree;
import org.jboss.soa.esb.message.Message;
public class ProcessNThrow extends AbstractActionLifecycle {
protected ConfigTree config;
protected TestError(ConfigTree config) {
this.config = config;
}
public Message process(Message message) throws ActionProcessingException{
throw new ActionProcessingException();
}
}
Have anyone an idea how to configure the esb correctly, so that the file is put into the configured error directory when an exception is thrown.
Thanks.