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