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(); } + + }
