[prev in list] [next in list] [prev in thread] [next in thread] 

List:       activemq-dev
Subject:    [jira] [Updated] (AMQ-3899) XAQueueConnectionFactory is not able to create normal QueueConnections
From:       "Willem Jan Gerritsen (JIRA)" <jira () apache ! org>
Date:       2012-06-26 11:54:43
Message-ID: 674157556.56107.1340711683786.JavaMail.jiratomcat () issues-vm
[Download RAW message or body]


     [ https://issues.apache.org/jira/browse/AMQ-3899?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel \
]

Willem Jan Gerritsen updated AMQ-3899:
--------------------------------------

    Description: 
The ActiveMQXAConnectionFactory has a method: QueueConnection \
createQueueConnection(). This method returns an instance of ActiveMQXAConnection.

This connection cannot handle transacted sessions:
{code}
@Test
public void create_message_producer_and_send() throws Exception {
	XAQueueConnectionFactory xaqueueConnectionFactory = (XAQueueConnectionFactory) \
jmsContext.lookup(JMSProvider.XA_QUEUE_CONNECTION_FACTORY);

	queueConnection = queueConnectionFactory.createQueueConnection();
	queueConnection.start();

	QueueSession queueSession = queueConnection.createQueueSession(true, \
Session.AUTO_ACKNOWLEDGE);  MessageProducer producer = \
queueSession.createProducer(queueSession.createQueue(queueName));  BytesMessage \
jmsMessage = queueSession.createBytesMessage();  jmsMessage.writeBytes("Hello \
world".getBytes());  producer.send(jmsMessage);
	queueSession.commit(); // --> fail with TransactionInProgressException
}
{code}

Our use-case is to instantiate a single queueconnectionfactory, which would be able \
to provide both normal (transacted) and XA connections. So that when we are sure that \
when we have only messaging in our transaction, that then we don't need to bother \
about initiating an XA transaction.

  was:
The ActiveMQXAConnectionFactory has a method: QueueConnection \
createQueueConnection(). This method returns an instance of ActiveMQXAConnection.

This connection cannot handle transacted sessions:
{code}
@Test
public void create_message_producer_and_send() throws Exception {
	QueueSession queueSession = queueConnection.createQueueSession(true, \
Session.AUTO_ACKNOWLEDGE);  MessageProducer producer = \
queueSession.createProducer(queueSession.createQueue(queueName));  BytesMessage \
jmsMessage = queueSession.createBytesMessage();  jmsMessage.writeBytes("Hello \
world".getBytes());  producer.send(jmsMessage);
	queueSession.commit(); // --> fail with TransactionInProgressException
}
{code}

Our use-case is to instantiate a single queueconnectionfactory, which would be able \
to provide both normal (transacted) and XA connections. So that when we are sure that \
when we have only messaging in our transaction, that then we don't need to bother \
about initiating an XA transaction.

    
> XAQueueConnectionFactory is not able to create normal QueueConnections
> ----------------------------------------------------------------------
> 
> Key: AMQ-3899
> URL: https://issues.apache.org/jira/browse/AMQ-3899
> Project: ActiveMQ
> Issue Type: Bug
> Components: JMS client
> Affects Versions: 5.6.0
> Reporter: Willem Jan Gerritsen
> 
> The ActiveMQXAConnectionFactory has a method: QueueConnection \
> createQueueConnection(). This method returns an instance of ActiveMQXAConnection. \
> This connection cannot handle transacted sessions: {code}
> @Test
> public void create_message_producer_and_send() throws Exception {
> 	XAQueueConnectionFactory xaqueueConnectionFactory = (XAQueueConnectionFactory) \
> jmsContext.lookup(JMSProvider.XA_QUEUE_CONNECTION_FACTORY);  queueConnection = \
> queueConnectionFactory.createQueueConnection();  queueConnection.start();
> 	QueueSession queueSession = queueConnection.createQueueSession(true, \
> Session.AUTO_ACKNOWLEDGE);  MessageProducer producer = \
> queueSession.createProducer(queueSession.createQueue(queueName));  BytesMessage \
> jmsMessage = queueSession.createBytesMessage();  jmsMessage.writeBytes("Hello \
> world".getBytes());  producer.send(jmsMessage);
> 	queueSession.commit(); // --> fail with TransactionInProgressException
> }
> {code}
> Our use-case is to instantiate a single queueconnectionfactory, which would be able \
> to provide both normal (transacted) and XA connections. So that when we are sure \
> that when we have only messaging in our transaction, that then we don't need to \
> bother about initiating an XA transaction.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: \
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more \
information on JIRA, see: http://www.atlassian.com/software/jira

        


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic