summaryrefslogtreecommitdiff
path: root/java/client/src/main/java/org/apache/qpid/client/XASessionImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/client/src/main/java/org/apache/qpid/client/XASessionImpl.java')
-rw-r--r--java/client/src/main/java/org/apache/qpid/client/XASessionImpl.java27
1 files changed, 16 insertions, 11 deletions
diff --git a/java/client/src/main/java/org/apache/qpid/client/XASessionImpl.java b/java/client/src/main/java/org/apache/qpid/client/XASessionImpl.java
index e01ec8578d..fa0bdcb4c9 100644
--- a/java/client/src/main/java/org/apache/qpid/client/XASessionImpl.java
+++ b/java/client/src/main/java/org/apache/qpid/client/XASessionImpl.java
@@ -75,8 +75,15 @@ public class XASessionImpl extends AMQSession_0_10 implements XASession, XATopic
boolean transacted, int ackMode, MessageFactoryRegistry registry, int defaultPrefetchHigh, int defaultPrefetchLow,
String name)
{
- super(qpidConnection, con, channelId, transacted, ackMode, registry, defaultPrefetchHigh, defaultPrefetchLow, name);
- createSession();
+ super(qpidConnection,
+ con,
+ channelId,
+ transacted,
+ ackMode,
+ registry,
+ defaultPrefetchHigh,
+ defaultPrefetchLow,
+ name);
_xaResource = new XAResourceImpl(this);
}
@@ -86,11 +93,13 @@ public class XASessionImpl extends AMQSession_0_10 implements XASession, XATopic
/**
* Create a qpid session.
*/
- public void createSession()
+ @Override
+ public org.apache.qpid.transport.Session createSession()
{
_qpidDtxSession = getQpidConnection().createSession(0,true);
- _qpidDtxSession.setSessionListener(this);
_qpidDtxSession.dtxSelect();
+ _qpidDtxSession.setSessionListener(this);
+ return _qpidDtxSession;
}
/**
@@ -101,11 +110,7 @@ public class XASessionImpl extends AMQSession_0_10 implements XASession, XATopic
*/
public Session getSession() throws JMSException
{
- if (_jmsSession == null)
- {
- _jmsSession = getAMQConnection().createSession(true, getAcknowledgeMode());
- }
- return _jmsSession;
+ return this;
}
/**
@@ -162,7 +167,7 @@ public class XASessionImpl extends AMQSession_0_10 implements XASession, XATopic
*/
public QueueSession getQueueSession() throws JMSException
{
- return (QueueSession) getSession();
+ return this;
}
// interface XATopicSession
@@ -175,7 +180,7 @@ public class XASessionImpl extends AMQSession_0_10 implements XASession, XATopic
*/
public TopicSession getTopicSession() throws JMSException
{
- return (TopicSession) getSession();
+ return this;
}
@Override