Wrap all JMS connections

Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/6140f87f
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/6140f87f
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/6140f87f

Branch: refs/heads/tomee-1.7.3-prepare
Commit: 6140f87f03781227bef10dd746665b77779a0fba
Parents: b768c4a
Author: AndyGee <[email protected]>
Authored: Thu Nov 19 19:57:41 2015 +0100
Committer: AndyGee <[email protected]>
Committed: Thu Nov 19 19:57:41 2015 +0100

----------------------------------------------------------------------
 .../activemq/ConnectionFactoryWrapper.java      |  8 +++---
 .../resource/activemq/ConnectionWrapper.java    | 29 +++++++++++++++++++-
 2 files changed, 32 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/6140f87f/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ConnectionFactoryWrapper.java
----------------------------------------------------------------------
diff --git 
a/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ConnectionFactoryWrapper.java
 
b/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ConnectionFactoryWrapper.java
index 546137b..d0034f1 100644
--- 
a/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ConnectionFactoryWrapper.java
+++ 
b/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ConnectionFactoryWrapper.java
@@ -70,21 +70,21 @@ public class ConnectionFactoryWrapper implements 
ConnectionFactory, TopicConnect
 
     @Override
     public QueueConnection createQueueConnection() throws JMSException {
-        return this.factory.createQueueConnection();
+        return 
QueueConnection.class.cast(getConnection(this.factory.createQueueConnection()));
     }
 
     @Override
     public QueueConnection createQueueConnection(final String userName, final 
String password) throws JMSException {
-        return this.factory.createQueueConnection(userName, password);
+        return 
QueueConnection.class.cast(getConnection(this.factory.createQueueConnection(userName,
 password)));
     }
 
     @Override
     public TopicConnection createTopicConnection() throws JMSException {
-        return this.factory.createTopicConnection();
+        return 
TopicConnection.class.cast(getConnection(this.factory.createTopicConnection()));
     }
 
     @Override
     public TopicConnection createTopicConnection(final String userName, final 
String password) throws JMSException {
-        return this.factory.createTopicConnection(userName, password);
+        return 
TopicConnection.class.cast(getConnection(this.factory.createTopicConnection(userName,
 password)));
     }
 }

http://git-wip-us.apache.org/repos/asf/tomee/blob/6140f87f/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ConnectionWrapper.java
----------------------------------------------------------------------
diff --git 
a/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ConnectionWrapper.java
 
b/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ConnectionWrapper.java
index dc98db2..c5a4783 100644
--- 
a/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ConnectionWrapper.java
+++ 
b/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ConnectionWrapper.java
@@ -16,15 +16,20 @@ import javax.jms.ConnectionMetaData;
 import javax.jms.Destination;
 import javax.jms.ExceptionListener;
 import javax.jms.JMSException;
+import javax.jms.Queue;
+import javax.jms.QueueConnection;
+import javax.jms.QueueSession;
 import javax.jms.ServerSessionPool;
 import javax.jms.Session;
 import javax.jms.Topic;
+import javax.jms.TopicConnection;
+import javax.jms.TopicSession;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-public class ConnectionWrapper implements Connection {
+public class ConnectionWrapper implements Connection, TopicConnection, 
QueueConnection {
 
     private final ArrayList<SessionWrapper> sessions = new 
ArrayList<SessionWrapper>();
 
@@ -55,6 +60,26 @@ public class ConnectionWrapper implements Connection {
     }
 
     @Override
+    public TopicSession createTopicSession(final boolean transacted, final int 
acknowledgeMode) throws JMSException {
+        return 
TopicConnection.class.cast(this.con).createTopicSession(transacted, 
acknowledgeMode);
+    }
+
+    @Override
+    public ConnectionConsumer createConnectionConsumer(final Topic topic, 
final String messageSelector, final ServerSessionPool sessionPool, final int 
maxMessages) throws JMSException {
+        return 
TopicConnection.class.cast(this.con).createConnectionConsumer(topic, 
messageSelector, sessionPool, maxMessages);
+    }
+
+    @Override
+    public QueueSession createQueueSession(final boolean transacted, final int 
acknowledgeMode) throws JMSException {
+        return 
QueueConnection.class.cast(this.con).createQueueSession(transacted, 
acknowledgeMode);
+    }
+
+    @Override
+    public ConnectionConsumer createConnectionConsumer(final Queue queue, 
final String messageSelector, final ServerSessionPool sessionPool, final int 
maxMessages) throws JMSException {
+        return 
QueueConnection.class.cast(this.con).createConnectionConsumer(queue, 
messageSelector, sessionPool, maxMessages);
+    }
+
+    @Override
     public ConnectionConsumer createDurableConnectionConsumer(final Topic 
topic, final String subscriptionName, final String messageSelector, final 
ServerSessionPool sessionPool, final int maxMessages) throws JMSException {
         return con.createDurableConnectionConsumer(topic, subscriptionName, 
messageSelector, sessionPool, maxMessages);
     }
@@ -137,4 +162,6 @@ public class ConnectionWrapper implements Connection {
     public int hashCode() {
         return con.hashCode();
     }
+
+
 }

Reply via email to