2015-01-15 3 views
0

Я прочитал документацию, и я видел знакомый вопрос (с конца 2005 года), но, похоже, никто не получил ответа. (http://forum.spring.io/forum/spring-projects/integration/jms/9152-jmstemplate-oracle-jms)JMSTemplate и список получателей

Я пытаюсь отправить сообщение в тему используя JmsTemplate при указании подписчика, но либо я не могу найти правильную документацию, либо я не могу найти правильный API.

Возможно ли добиться чего-то подобного с помощью JmsTemplate?

Если вам нужна дополнительная информация, пожалуйста, дайте мне знать.

ответ

1

Методы высокого уровня JMSTemplate поддерживают только стандарт JMS.

Это расширение для JMS ...

Добавляет Oracle Streams Advanced Queuing специальные расширения для 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; 
     } 
    }); 
+0

Это работало безупречно. спасибо, @Gary. – Massimo

Смежные вопросы