Env : JBoss 4.2.3, JbossMQ shipped with Jboss 4.2.3

Hi all,
I have a pretty simple question, but dont manage to find the solution through 
google/forum searchs.

Inside an MDB, I need to enlist the sending of JMS messages in a JTA 
transaction. The queue is a remote queue located on another JBossMQ server.
The need to enlist in a JTA transaction with multiples resources decided me to 
turn to JmsXA pool.

Here is the code : 

  | @MessageDriven(
  |             activationConfig = {...}...
  | @PoolClass (value=org.jboss.ejb3.StrictMaxPool.class, maxSize=1, 
timeout=30000)
  | @Depends("jboss.j2ee:service=EARDeployment,url='xxx.ear'")
  | public class Test1MDB implements MessageListener {
  |     public void onMessage(Message msg) {
  |                 ... do operations on database (XADataSource)
  | 
  |                    Context jndi = new InitialContext();
  |                    QueueConnection connection = (QueueConnectionFactory) 
jndi.lookup("java:JmsXA");
  |               QueueSession = connection.createQueueSession(true, 
QueueSession.AUTO_ACKNOWLEDGE);
  |                   Queue queue = (Queue) 
jndi.lookup("jnp://174.54.12.144:1099/queue/test2");
  |               QueueSender sender = session.createSender(queue);
  |              ObjectMessage msg = MessageHelper.create(session, messageDTO);
  |                     sender.send(msg);
  |                        ...
  |             }
  | 

The result is that code works well if I target a local queue, but fails when I 
target a remote queue (like in my example). I add that the queues targeted are 
test queues (created temporarly by the MDB)

The following logs appear at the end of the onMessage method (commit time) :

  | 16:53:40,413 WARN  [loggerI18N] 
[com.arjuna.ats.internal.jta.resources.arjunacore.preparefailed] 
[com.arjuna.ats.internal.jta.resources.arjunacore.preparefailed] 
XAResourceRecord.prepare - prepare failed with exception XAException.XAER_RMFAIL
  | 16:53:40,416 WARN  [arjLoggerI18N] 
[com.arjuna.ats.arjuna.coordinator.BasicAction_50] - Prepare phase of action 
7f000101:81ea:4adf0cd5:1255 received heuristic decision: 
TwoPhaseOutcome.HEURISTIC_HAZARD
  | 16:53:40,416 WARN  [arjLoggerI18N] 
[com.arjuna.ats.arjuna.coordinator.BasicAction_36] - BasicAction.End() - 
prepare phase of action-id 7f000101:81ea:4adf0cd5:1255 failed.
  | 16:53:40,416 WARN  [arjLoggerI18N] 
[com.arjuna.ats.arjuna.coordinator.BasicAction_37] - Received heuristic: 
TwoPhaseOutcome.HEURISTIC_HAZARD .
  | 16:53:40,416 WARN  [arjLoggerI18N] 
[com.arjuna.ats.arjuna.coordinator.BasicAction_38] - Action Aborting
  | 

And it chains to replay the same input message, until the following exception 
occurs :

  | 16:53:40,449 ERROR [JmsServerSession] 
org.jboss.resource.adapter.jms.inflow.jmsserversess...@1c7811a failed to 
commit/rollback
  | javax.transaction.HeuristicMixedException
  |     at 
com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1397)
  |     at 
com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:135)
  |     at 
com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:87)
  |     at 
org.jboss.resource.adapter.jms.inflow.JmsServerSession$XATransactionDemarcationStrategy.end(JmsServerSession.java:494)
  |     at 
org.jboss.resource.adapter.jms.inflow.JmsServerSession.run(JmsServerSession.java:248)
  |     at org.jboss.resource.work.WorkWrapper.execute(WorkWrapper.java:204)
  |     at 
org.jboss.util.threadpool.BasicTaskWrapper.run(BasicTaskWrapper.java:275)
  |     at 
EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:756)
  |     at java.lang.Thread.run(Thread.java:595)
  | 

Strangely, that occurs only for remote queues.
Any pointers?
Thank you for your help.
RL

View the original post : 
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4261554#4261554

Reply to the post : 
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4261554
_______________________________________________
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to