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

Unable to send to Solace JMS queue (Capability Mismatch: Router does not support durable endpoint management)

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

在我们的一个环境中,出现以下异常。

我想这是因为这个 Solace broker/router 配置不同。任何关于如何解决或解决问题的指示表示赞赏。

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) 

为了启用 Guaranteed Messaging,您基本上必须配置以下两个步骤:

  1. 修改您正在使用的用户配置文件以允许保证发送and/or接收。
  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