我正在开发一个订阅 JBoss 4 上的两个主题并处理传入消息的新应用程序。实际上,我正在使用两个DefaultMessageListenerContainer
具有持久订阅的连接。
当我对持久订阅使用相同的 ClientID 时,容器失败并出现错误:
2021-07-02T10:28:05.487+0200 [DefaultMessageListenerContainer-1] ERROR org.springframework.jms.listener.DefaultMessageListenerContainer - Could not refresh JMS Connection for destination 'TOPIC.providerDurableTopic' - retrying using FixedBackOff{interval=5000, currentAttempts=0, maxAttempts=unlimited}. Cause: This client id 'ka03.9971.mueller.de' is already registered!
是否有任何可能性两个将相同的 clientId 用于两个不同的目的地。是否还有其他ListenerContainer
可以使用一个容器实例处理多个目的地的方法?
我们尝试使用相同的 clientId 的原因是因为我们尝试用它的订阅替换旧的应用程序。这个旧应用程序连接到一个 JMS 事务中的主题,并且能够使用相同的客户端 ID。