0

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

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

是否可以使用 JmsTemplate 实现这样的目标?

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

4

1 回答 1

1

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

这是对 JMS 的扩展...

将 Oracle Streams 高级队列特定扩展添加到 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;
        }
    });
于 2015-01-15T13:25:51.390 回答