I had the same issue. A viable work around this issue would be to use the old
endpoints (which seem more mature to me):
<!-- JMS Consumer -->
<jms:endpoint id="jmsConsumer"
service="sns:jms-consumer"
endpoint="jmsEndpoint"
targetService="sns:pipeline"
role="consumer"
processorName="jca"
defaultMep="http://www.w3.org/2004/08/wsdl/in-only"
connectionFactory="#connectionFactory"
synchronous="true"
resourceAdapter="#amqResourceAdapter"
bootstrapContext="#bootstrapContext"
rollbackOnError="true">
<jms:activationSpec>
<amqra:activationSpec destination="yet.another.queue"
destinationType="javax.jms.Queue" maximumRedeliveries="5"
initialRedeliveryDelay="10000" useExponentialBackOff="false"/>
</jms:activationSpec>
</jms:endpoint>
For this to work you need the following:
i) declare the activemq resource adapter (#amqResourceAdapter).
ii) declare a bootstrap context(#bootstrapContext).
The above can be done with various ways. Here is an example using activemq
xa-pool:
1) Add jencks-amqpool to your classpath.
2) Add namespace xmlns:amqpool="http://jencks.org/amqpool/2.0"
3) Addx namespace xmlns:amqra="http://activemq.apache.org/schema/ra"
4) Declare Jecnks bootstrap context:
<bean id="bootstrapContext"
class="org.jencks.factory.BootstrapContextFactoryBean">
<property name="threadPoolSize" value="15"/>
</bean>
5) Declare activemq resource adapter:
<amqra:resourceAdapter id="amqResourceAdapter"
serverUrl="tcp://localhost:61616"/>
The above works for me like a charm. I hope you find it usefull too.
--
View this message in context:
http://old.nabble.com/SMX4-handling-transaction-tp28199896p28229094.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.