无法发送到Solace JMS队列(功能不匹配:路由器不支持持久性端点管理)

时间:2018-11-07 22:58:57

标签: jms jndi solace

我是Solace的新手。我们有一个应用程序,该应用程序使用JNDI查找Solace连接工厂,然后从各种队列发送/使用消息。

在我们的一种环境中,我们收到以下异常。

我认为这是因为此Solace代理/路由器的配置不同。感谢您提供任何有关解决问题或解决问题的方法。

nested exception is com.solacesystems.jms.ConfigurationException: Error creating queue - operation not supported on router (Capability Mismatch: Router does not support durable endpoint management.)
    at org.springframework.jms.support.JmsUtils.convertJmsAccessException(JmsUtils.java:316) 
    at org.springframework.jms.support.JmsAccessor.convertJmsAccessException(JmsAccessor.java:169)
    at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:497) 
    at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.send(JmsConfiguration.java:228)
    at org.apache.camel.component.jms.JmsProducer.doSend(JmsProducer.java:431) 
    at org.apache.camel.component.jms.JmsProducer.processInOnly(JmsProducer.java:385) 

1 个答案:

答案 0 :(得分:0)

要启用保证消息传递,您基本上必须配置以下两个步骤:

  1. 修改您正在使用的用户个人资料,以允许有保证的发送和/或接收。
  2. 修改VPN配置以定义要使用的消息假脱机的大小。

这可以通过Solace CLI上的以下示例命令来完成:

solace(configure)# client-profile default 
solace(configure/client-profile)# allow-guaranteed-message-receive
solace(configure/client-profile)# allow-guaranteed-message-send
solace(configure/client-profile)# exit

solace(configure)# client-username default message-vpn default 
solace(configure/client-username)# client-profile default 
solace(configure/client-username)# no shutdown 
solace(configure/client-username)# exit   

solace(configure)# message-spool message-vpn default  
solace(configure/message-spool)# max-spool-usage 60000

如果您需要有关保证消息传递和更多详细配置的更多信息,请参阅:

https://docs.solace.com/Configuring-and-Managing/Configuring-Guaranteed-Msging.htm