-
1. Re: JCA + ContentBasedRouter + Exception
kconner Oct 1, 2010 5:02 AM (in response to seb_fou)Sorry, what are you expecting and what is not working??
Kev
-
2. Re: JCA + ContentBasedRouter + Exception
seb_fou Oct 1, 2010 5:41 AM (in response to seb_fou)The redevilery mechanism doesn't work after content based routing.
Here an example
<providers>
<jms-jca-provider name="JBM" connection-factory="XAConnectionFactory">
<jms-bus busid="GwChannel">
<jms-message-filter
dest-type="QUEUE"
dest-name="queue/Request_gw"
transacted="true"
/>
</jms-bus>
<jms-bus busid="EsbChannel">
<jms-message-filter
dest-type="QUEUE"
dest-name="queue/Request_esb"
transacted="true"
/>
</jms-bus>
</jms-bus>
<activation-config>
<!-- The maximum number of times a message is redelivered before it is sent to the DLQ -->
<property name="DLQMaxResent" value="3"/>
<property name="reconnectInterval" value="900"/>
</activation-config>
</jms-jca-provider>
</providers>
...
<service category="Proxy_Services" name="myServiceESB" >
<listeners>
<jms-listener name="JMS-Gateway" busidref="GwChannel" is-gateway="true" />
<jms-listener name="JMS-ESBListener" busidref="EsbChannel" />
</listeners>
<actions mep="OneWay">
<action name="MyExceptionAction"
class="com.XXX.ThroughExceptionAction"
process="throwException">
</action>
</action>
</actions>
</service>
The message is well redelivered 3 times. it uses JCA Action configs
But if i use CBR before throughing an IllegalStateException in my service like this
<service category="Proxy_Services" name="CBRServiceESB" >
<listeners>
<jms-listener name="JMS-Gateway" busidref="GwChannel" is-gateway="true" />
<jms-listener name="JMS-ESBListener" busidref="EsbChannel" />
</listeners>
<actions mep="OneWay">
<action class="org.jboss.soa.esb.actions.ContentBasedRouter" name="ContentBasedRouter"
<property name="ruleSet" value="rules/FilterRules.drl"/>
<property name="ruleReload" value="true"/>
<property name="destinations">
<route-to destination-name="myServiceESB" service-category="Proxy_Services" service-name="myServiceESB" />
<property name="object-paths">
<object-path esb="body.'org.jboss.soa.esb.message.defaultEntry'" />
</property>
</action>
</actions>
</service>
<service category="Proxy_Services" name="myServiceESB" invmScope="GLOBAL">
<actions mep="OneWay">
<action name="MyExceptionAction"
class="com.XXX.ThroughExceptionAction"
process="throwException">
</action>
</action>
</actions>
</service>
The message is not redelivered 3 times.
Do you know why ?