summaryrefslogtreecommitdiff
path: root/qpid/java/jca
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/java/jca')
-rw-r--r--qpid/java/jca/src/main/java/org/apache/qpid/ra/QpidRAManagedConnection.java38
1 files changed, 19 insertions, 19 deletions
diff --git a/qpid/java/jca/src/main/java/org/apache/qpid/ra/QpidRAManagedConnection.java b/qpid/java/jca/src/main/java/org/apache/qpid/ra/QpidRAManagedConnection.java
index fb1b7f060c..16891290ae 100644
--- a/qpid/java/jca/src/main/java/org/apache/qpid/ra/QpidRAManagedConnection.java
+++ b/qpid/java/jca/src/main/java/org/apache/qpid/ra/QpidRAManagedConnection.java
@@ -752,26 +752,25 @@ public class QpidRAManagedConnection implements ManagedConnection, ExceptionList
try
{
- boolean transacted = _cri.isTransacted();
- int acknowledgeMode = Session.AUTO_ACKNOWLEDGE;
- boolean localTx = _mcf.getUseLocalTx();
+ boolean transacted = _cri.isTransacted() || _mcf.getUseLocalTx();
+ int acknowledgeMode = (transacted) ? Session.SESSION_TRANSACTED : _cri.getAcknowledgeMode();
if (_cri.getType() == QpidRAConnectionFactory.TOPIC_CONNECTION)
{
if (_userName != null && _password != null)
{
- if(!localTx)
+ if(!transacted)
{
_connection = _mcf.getCleanAMQConnectionFactory().createXATopicConnection(_userName, _password);
}
else
{
- _connection = _mcf.getCleanAMQConnectionFactory().createTopicConnection();
+ _connection = _mcf.getCleanAMQConnectionFactory().createTopicConnection(_userName, _password);
}
}
else
{
- if(!localTx)
+ if(!transacted)
{
_connection = _mcf.getDefaultAMQConnectionFactory().createXATopicConnection();
}
@@ -781,32 +780,31 @@ public class QpidRAManagedConnection implements ManagedConnection, ExceptionList
}
}
- if(!localTx)
+ if(!transacted)
{
_xaSession = ((XATopicConnection)_connection).createXATopicSession();
-
}
else
{
- _session = ((TopicConnection)_connection).createTopicSession(localTx, acknowledgeMode);
+ _session = ((TopicConnection)_connection).createTopicSession(transacted, acknowledgeMode);
}
}
else if (_cri.getType() == QpidRAConnectionFactory.QUEUE_CONNECTION)
{
if (_userName != null && _password != null)
{
- if(!localTx)
+ if(!transacted)
{
_connection = _mcf.getCleanAMQConnectionFactory().createXAQueueConnection(_userName, _password);
}
else
{
- _connection = _mcf.getCleanAMQConnectionFactory().createQueueConnection();
+ _connection = _mcf.getCleanAMQConnectionFactory().createQueueConnection(_userName, _password);
}
}
else
{
- if(!localTx)
+ if(!transacted)
{
_connection = _mcf.getDefaultAMQConnectionFactory().createXAQueueConnection();
}
@@ -816,14 +814,14 @@ public class QpidRAManagedConnection implements ManagedConnection, ExceptionList
}
}
- if(!localTx)
+ if(!transacted)
{
_xaSession = ((XAQueueConnection)_connection).createXAQueueSession();
}
else
{
- _session = ((QueueConnection)_connection).createQueueSession(localTx, acknowledgeMode);
+ _session = ((QueueConnection)_connection).createQueueSession(transacted, acknowledgeMode);
}
}
@@ -831,18 +829,18 @@ public class QpidRAManagedConnection implements ManagedConnection, ExceptionList
{
if (_userName != null && _password != null)
{
- if(!localTx)
+ if(!transacted)
{
_connection = _mcf.getCleanAMQConnectionFactory().createXAConnection(_userName, _password);
}
else
{
- _connection = _mcf.getCleanAMQConnectionFactory().createConnection();
+ _connection = _mcf.getCleanAMQConnectionFactory().createConnection(_userName, _password);
}
}
else
{
- if(!localTx)
+ if(!transacted)
{
_connection = _mcf.getDefaultAMQConnectionFactory().createXAConnection();
}
@@ -852,22 +850,24 @@ public class QpidRAManagedConnection implements ManagedConnection, ExceptionList
}
}
- if(!localTx)
+ if(!transacted)
{
_xaSession = ((XAQueueConnection)_connection).createXASession();
}
else
{
- _session = ((QueueConnection)_connection).createSession(localTx, acknowledgeMode);
+ _session = ((QueueConnection)_connection).createSession(transacted, acknowledgeMode);
}
}
_connection.setExceptionListener(this);
+
}
catch (JMSException je)
{
+ _log.error(je.getMessage(), je);
throw new ResourceException(je.getMessage(), je);
}
}