From a3b3a497fbbbf7a5f93a6e761e1e2073220a135a Mon Sep 17 00:00:00 2001 From: James Strachan Date: Mon, 19 Feb 2007 13:45:34 +0000 Subject: [PATCH] added fix for AMQ-1161 git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@509200 13f79535-47bb-0310-9956-ffa450edef68 --- .../activemq/pool/PooledTopicPublisher.java | 4 +- .../pool/PooledTopicPublisherTest.java | 53 +++++++++++++++++++ 2 files changed, 55 insertions(+), 2 deletions(-) create mode 100644 activemq-core/src/test/java/org/apache/activemq/pool/PooledTopicPublisherTest.java diff --git a/activemq-core/src/main/java/org/apache/activemq/pool/PooledTopicPublisher.java b/activemq-core/src/main/java/org/apache/activemq/pool/PooledTopicPublisher.java index fb1d94d13c..21e5a6ba60 100644 --- a/activemq-core/src/main/java/org/apache/activemq/pool/PooledTopicPublisher.java +++ b/activemq-core/src/main/java/org/apache/activemq/pool/PooledTopicPublisher.java @@ -39,11 +39,11 @@ public class PooledTopicPublisher extends PooledProducer implements TopicPublish } public void publish(Message message) throws JMSException { - getTopicPublisher().publish(message); + getTopicPublisher().publish((Topic) getDestination(), message); } public void publish(Message message, int i, int i1, long l) throws JMSException { - getTopicPublisher().publish(message, i, i1, l); + getTopicPublisher().publish((Topic) getDestination(), message, i, i1, l); } public void publish(Topic topic, Message message) throws JMSException { diff --git a/activemq-core/src/test/java/org/apache/activemq/pool/PooledTopicPublisherTest.java b/activemq-core/src/test/java/org/apache/activemq/pool/PooledTopicPublisherTest.java new file mode 100644 index 0000000000..8f6657b512 --- /dev/null +++ b/activemq-core/src/test/java/org/apache/activemq/pool/PooledTopicPublisherTest.java @@ -0,0 +1,53 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.activemq.pool; + +import junit.framework.TestCase; +import org.apache.activemq.ActiveMQConnectionFactory; +import org.apache.activemq.command.ActiveMQTopic; + +import javax.jms.Session; +import javax.jms.TopicConnection; +import javax.jms.TopicPublisher; +import javax.jms.TopicSession; + +/** + * @version $Revision$ + */ +public class PooledTopicPublisherTest extends TestCase { + private TopicConnection connection; + + public void testPooledConnectionFactory() throws Exception { + ActiveMQTopic topic = new ActiveMQTopic("test"); + PooledConnectionFactory pcf = new PooledConnectionFactory(); + pcf.setConnectionFactory(new ActiveMQConnectionFactory("vm://test")); + + connection = (TopicConnection) pcf.createConnection(); + TopicSession session = connection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE); + TopicPublisher publisher = session.createPublisher(topic); + publisher.publish(session.createMessage()); + } + + @Override + protected void tearDown() throws Exception { + if (connection != null) { + connection.close(); + connection = null; + } + } +}