Hi,
I asked a question about JMS and transaction and had the following answer :
Spring Transaction does not support using multiple threads. The
transactional work should be done in the same thread, from spring TX
manager point of view.
I have some difficulties to understand why resequencer support JMS
transaction and not the couple multicast / parallelProcessing :
JMS transaction working but new thread in resequence (BatchSender)
from("activemq:queue:in1").transacted().resequence().header("num").stream().timeout(2000L).to("activemq:queue:out1");
JMS transaction not working as new threads for parallelProcessing
from("activemq:queue:in2").transacted().multicast().parallelProcessing().recipientList(header("MY_HEADER")).end();
Can I have a clarification for this point ?
Regards
Hervé
On Tue, Feb 14, 2012 at 4:57 PM, Babak Vahdat
<[email protected]>wrote:
> Hi
>
> That's indeed possible even if you make use of the *transactional* JMS.
>
> I already verified it using one of the Camel's own unit tests (you could
> also give it a try as well if you want).
>
> I changed [1] as the following (note the newly introduced transacted()
> DSL):
>
>
> from("activemq:queue:in1").transacted().resequence().body().batch().size(100).timeout(10000L).to("mock:result");
>
> from("activemq:queue:in2").transacted().resequence().header("num").stream().timeout(2000L).to("mock:result");
>
> And by [2] I marked the jmsConfig Bean to be *transacted*:
>
> <property name="transacted" value="true"/>
>
> And as a side effect of this change I also had to add a Spring
> PlatformTransactionManager:
>
> <bean id="transactionManager"
> class="org.springframework.jms.connection.JmsTransactionManager">
> <property name="connectionFactory" ref="jmsConnectionFactory"/>
> </bean>
>
> So that you don't have to spawn your own threads or the like.
>
> [1]
>
> https://svn.apache.org/repos/asf/camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsResequencerTestRouteBuilder.java
> [2]
>
> https://svn.apache.org/repos/asf/camel/trunk/components/camel-jms/src/test/resources/org/apache/camel/component/jms/issues/JmsResequencerTest-context.xml
>
> Babak
>
> --
> View this message in context:
> http://camel.465427.n5.nabble.com/Resequencer-EIP-tp5482502p5482841.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>