JMSTemplate 和收件人列表

JMSTemplate and recipient list

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

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

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

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

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

这是 JMS 的扩展...

Adds Oracle Streams Advanced Queuing specific extensions to javax.jms.TopicPublisher

有时您可以 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;
        }
    });