[
https://issues.apache.org/activemq/browse/AMQ-1161?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
james strachan resolved AMQ-1161.
---------------------------------
Resolution: Fixed
Fix Version/s: 4.2.0
> PooledConnectionFactory / PooledSession generates
> UnsupportedOperationException when publishing to a topic
> ----------------------------------------------------------------------------------------------------------
>
> Key: AMQ-1161
> URL: https://issues.apache.org/activemq/browse/AMQ-1161
> Project: ActiveMQ
> Issue Type: Bug
> Components: JMS client
> Affects Versions: 4.1.0
> Reporter: Adam Lewandowski
> Fix For: 4.2.0
>
> Attachments: PooledTopicPublisherTest.java
>
>
> PooledSession does not appear to use the Topic supplied to the
> createPublisher(topic) method. When the publish(Message) method is called on
> the returned TopicPublisher instance, an UnsupportedOperationException is
> thrown ("A destination must be specified.").
> Some simple digging turns up the fact that the ActiveMQTopicPublisher
> instance nested inside PooledTopicPublisher gets initialized with a
> ProducerInfo whose destination is null. Looks like
> PooledSession.getTopicPublisher() is responsible for creating the publisher
> from the contained ActiveMQSession, but does not supply a destination
> (explicitly passes null).
> Sample code to recreate issue (also attached is Junit test case):
> ActiveMQTopic topic = new ActiveMQTopic("test");
> PooledConnectionFactory pcf = new PooledConnectionFactory();
> pcf.setConnectionFactory(new
> ActiveMQConnectionFactory("vm://test"));
> TopicConnection conn = (TopicConnection)pcf.createConnection();
> TopicSession session = conn.createTopicSession(false,
> Session.AUTO_ACKNOWLEDGE);
> TopicPublisher publisher = session.createPublisher(topic);
> publisher.publish(session.createMessage());
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.