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.

Reply via email to