activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Guy Pardon (JIRA)" <j...@apache.org>
Subject [jira] Commented: (AMQ-1054) XA recover fails for 4.0.1
Date Wed, 22 Nov 2006 06:30:02 GMT
    [ https://issues.apache.org/activemq/browse/AMQ-1054?page=comments#action_37510 ] 
            
Guy Pardon commented on AMQ-1054:
---------------------------------

Yes, 4.0.2 too.

Below is a test program (you need the atomikos jars in the classpath, as well as all activemq
jars). Note that the only atomikos dependency is the Xid format.

Guy

package activemqtest;

import javax.jms.MessageConsumer;
import javax.jms.XAConnection;
import javax.jms.XASession;
import javax.transaction.xa.XAResource;
import javax.transaction.xa.Xid;

import org.apache.activemq.ActiveMQXAConnectionFactory;
import org.apache.activemq.command.ActiveMQQueue;

import com.atomikos.datasource.xa.DefaultXidFactory;

public class XATest {
	
	
	public static void main ( String[] args ) throws Exception {
		
		String url = "tcp://localhost:61616";
		String qName = "MyQueue";
		int timeout = 5;
		
		DefaultXidFactory xidFactory = new DefaultXidFactory();
		
		ActiveMQXAConnectionFactory xacf = new ActiveMQXAConnectionFactory();
		xacf.setBrokerURL ( url );
		
		ActiveMQQueue queue = new ActiveMQQueue();
		queue.setPhysicalName ( qName );
		
		XAConnection xaconn = xacf.createXAConnection();
		xaconn.start();
		XASession session = xaconn.createXASession();
		XAResource xares = session.getXAResource();
		MessageConsumer receiver = session.getSession().createConsumer ( queue );
		
		xares.recover ( XAResource.TMSTARTRSCAN );
		xares.recover ( XAResource.TMNOFLAGS );
		xares.setTransactionTimeout ( timeout );
		xares.isSameRM ( xares );
		
		Xid xid = xidFactory.createXid ( "part1" , "part2");
		xares.start ( xid , XAResource.TMNOFLAGS );
		receiver.receive ( timeout );
		xares.end ( xid , XAResource.TMSUCCESS );
		xares.rollback ( xid );
	}

}


> XA recover fails for 4.0.1
> --------------------------
>
>                 Key: AMQ-1054
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1054
>             Project: ActiveMQ
>          Issue Type: Bug
>         Environment: Java, JDK 1.4, Windows, Atomikos TransactionsEssentials for the
JTA/XA part
>            Reporter: Guy Pardon
>
> XAResource.recover seems to fail for 4.x of ActiveMQ:
> ERROR IN RECOVERY [thread: SimpleAsyncTaskExecutor-3] on: 06-11-16 08:43:35,152 
> [Lorg.apache.activemq.command.DataStructure; [thread: SimpleAsyncTaskExecutor-3] on:
06-11-16 08:43:35,152 
> at: org.apache.activemq.TransactionContext.recover(TransactionContext.java:508) [thread:
SimpleAsyncTaskExecutor-3] on: 06-11-16 08:43:35,152 
> at: com.atomikos.datasource.xa.XATransactionalResource.recover(Unknown Source) [thread:
SimpleAsyncTaskExecutor-3] on: 06-11-16 08:43:35,152 
> at: com.atomikos.datasource.xa.XATransactionalResource.endRecovery(Unknown Source) [thread:
SimpleAsyncTaskExecutor-3] on: 06-11-16 08:43:35,152 
> at: com.atomikos.icatch.imp.TransactionServiceImp.recover(Unknown Source) [thread: SimpleAsyncTaskExecutor-3]
on: 06-11-16 08:43:35,153 
> at: com.atomikos.datasource.xa.XATransactionalResource.setRecoveryService(Unknown Source)
[thread: SimpleAsyncTaskExecutor-3] on: 06-11-16 08:43:35,153 
> at: com.atomikos.icatch.system.Configuration.addResource(Unknown Source) [thread: SimpleAsyncTaskExecutor-3]
on: 06-11-16 08:43:35,153 
> at: com.atomikos.jms.QueueConnectionFactoryBean.checkSetup(Unknown Source) [thread: SimpleAsyncTaskExecutor-3]
on: 06-11-16 08:43:35,153 
> at: com.atomikos.jms.QueueConnectionFactoryBean.createQueueConnection(Unknown Source)
[thread: SimpleAsyncTaskExecutor-3] on: 06-11-16 08:43:35,153 
> at: com.atomikos.jms.QueueConnectionFactoryBean.createConnection(Unknown Source) [thread:
SimpleAsyncTaskExecutor-3] on: 06-11-16 08:43:35,153 
> Also see http://www.atomikos-support.com/forums/viewtopic.php?t=351 (where I borrowed
this stack trace from). We have seen similar things in other applications that tried to use
ActiveMQ. I think this is a class cast error in ActiveMQ...
> With 3.1 there is no problem. 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message