For the moment I'm testing the use of XA, next I'll use two different JMS
broker (MQseries and OpenJMS), that's why I want XA.
I don't understand who enlists my JMS XAResource in the transaction, I
didn't find anywhere the code who does this neither in servicemix-jms, nmr
or spring-framework.
I don't understand what you mean conerning the registration of XA resources
in the JNDI registry. I thought that only the transaction manager was
recoverable from the JNDI properties, and the JBI container is in charge to
do this. Then I create my XAConnection and XASessions and enlist it into a
new created transaction. That's what I did into an other JBI container, and
it worked.
It seems that there's something I didn't get...



Mariusz Brylant wrote:
> 
> Hi,
> 
> All XA capable resources participating in the XA transaction should be 
> enlisted  in (and looked up from) the JNDI registry. Your configuration 
> suggests that you are actually connecting to a standalone AMQ server 
> which does not provide JNDI registry.
> 
> Would consider running AMQ deployed inside JEE container as a JCA
> resource.
> 
> Also would suggest asking yourself  a question if you really need an 
> overhead of the XA transactions  -  both queues  seat on the same 
> resources (#connectionFactory), therefore native/local transaction seems 
> more appropriate.
> 
> Have a look here " 
> http://www.infoq.com/presentations/native-transactions-java-spring " for 
> some ideas.
> 
> Best regards,
> Mario
> 
> Mariusz Brylant
> [email protected]
> 
> gude wrote:
>> Hello,
>>
>> I would like to receive a message from a JMS queue and send it into an
>> other
>> one inside the same XA transaction. But I have the following trace in the
>> log, while attempting to get the input message :
>>
>> 16:11:45,323 | INFO  | tenerContainer-2 | DefaultMessageListenerContainer 
>> |
>> .DefaultMessageListenerContainer  750 | Setup of JMS message listener
>> invoker failed for destination 'queue/transactions-in' - trying to
>> recover.
>> Cause: Session's XAResource has not been enlisted in a distributed
>> transaction.
>>
>> my xbean.xml looks like :
>>
>> <?xml version="1.0" encoding="UTF-8" ?>
>>
>> <beans xmlns:jms="http://servicemix.apache.org/jms/1.0";
>>         xmlns:t1="http://examples/transaction1";>
>>
>>      <jms:consumer service="t1:t1jmsreceiver"
>>                  endpoint="t1jmsreceiver"
>>                  targetService="t1:t1sendtot2"
>>                  targetEndpoint="t1sendtot2"
>>                  destinationName="queue/transactions-in"
>>                  connectionFactory="#connectionFactory"
>>                  marshaler="#consumerMarshaler"
>>                  synchronous="true"
>>                  transacted="xa"
>>                  sessionAcknowledgeMode="2"/>
>>
>>      <jms:provider service="t1:t1sendtot2"
>>                  endpoint="t1sendtot2"
>>                  destinationName="queue/transactions-checkpoint"
>>                  connectionFactory="#connectionFactory"/>
>>
>>      <bean id="connectionFactory"
>> class="org.apache.activemq.ActiveMQXAConnectionFactory">
>>          <property name="brokerURL" value="tcp://localhost:61616" />
>>      </bean>
>>
>>      <bean id="consumerMarshaler"
>> class="org.apache.servicemix.jms.endpoints.DefaultConsumerMarshaler">
>>          <property name="mep"
>> value="http://www.w3.org/2004/08/wsdl/in-only";
>> />
>>          <property name="copyProperties" value="true" />
>>      </bean>
>>
>> </beans>
>>
>> What should I do?
>>    
> 
> 

-- 
View this message in context: 
http://old.nabble.com/Session%27s-XAResource-has-not-been-enlisted-in-a-distributed-transaction.-tp27452437p27455535.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to