我已经阅读了文档并且我已经看到了类似的问题(从2005年末开始),但似乎没有人得到答案。 (http://forum.spring.io/forum/spring-projects/integration/jms/9152-jmstemplate-oracle-jms)
我在指定订阅者时尝试使用JmsTemplate向主题发送消息,但我无法找到正确的文档或者无法找到正确的API。
是否可以使用JmsTemplate实现类似的功能?
如果您需要任何其他信息,请告诉我们。
答案 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;
}
});