JMSTemplate和收件人列表

时间:2015-01-15 09:49:49

标签: spring spring-jms jmstemplate

我已经阅读了文档并且我已经看到了类似的问题(从2005年末开始),但似乎没有人得到答案。 (http://forum.spring.io/forum/spring-projects/integration/jms/9152-jmstemplate-oracle-jms

我在指定订阅者时尝试使用JmsTemplate向主题发送消息,但我无法找到正确的文档或者无法找到正确的API。

是否可以使用JmsTemplate实现类似的功能?

如果您需要任何其他信息,请告诉我们。

1 个答案:

答案 0 :(得分:1)

JMSTemplate高级方法仅支持JMS标准。

这是JMS的扩展...

  

向javax.jms.TopicPublisher添加Oracle Streams高级队列特定扩展

有时您可以使用JmsTemplate.execute处理带有会话回调的扩展,但我认为,在这种情况下,您需要创建特定类型的会话。所以,我认为你不得不滚动你自己的代码。

您可以继承JmsTemplate并覆盖createSession以创建正确类型的会话;然后你可以用......

    Boolean result = template.execute(new SessionCallback<Boolean>() {

        @Override
        public Boolean doInJms(Session session) throws JMSException {
            Topic topic = ((AQjmsSession) session).getTopic(...);
            ((AQjmsTopicPublisher) publisher).publish(topic, topicSession.createTextMessage(message),recipientL ist1);
            return true;
        }
    });