如何在Spring JMS中配置动态回复主题

时间:2017-04-04 07:18:38

标签: java spring jms spring-ws

我在WebServiceTemplate中使用JmsMessageSender进行JMS上的Spring-WS通信。我必须处理主题,所以我使用了JmsMessageSender超类的setPubSubDomain方法,并且消息在目标主题上正确。但是,对于处理响应,会创建一个临时队列,不是主题。如何设置spring bean以获得响应的临时主题,而不是队列?

要添加一个提示,有一个AbstractMessageListenerContainer类的setReplyPubSubDomain方法,它看起来正是我需要的,但我从未使用过这个侦听器容器,我不知道如何将它包装到我的bean中

我的配置如下:

@Bean
public WebServiceTemplate webServiceTemplate() {
    WebServiceTemplate webServiceTemplate = new WebServiceTemplate();
    webServiceTemplate.setMessageFactory(messageFactory());
    webServiceTemplate.setMessageSender(messageSender());
    webServiceTemplate.setDefaultUri("jms:topicname.topicname.topicname?priority=3&deliveryMode=NON_PERSISTENT&messageType=TEXT_MESSAGE");
    return webServiceTemplate;
}

@Bean
public JmsMessageSender messageSender() {
    JmsMessageSender messageSender = new JmsMessageSender();
    messageSender.setConnectionFactory(connectionFactory());
    messageSender.setPubSubDomain(true);
    return messageSender;
}

0 个答案:

没有答案