我试图在oracle中创建对多个使用者队列的持久预订。使用JMS Spring支持。这是一个Grails应用程序。
我的 Spring 代码如下:
myQueueConnectionFactory(uk.my.MyQueueConnectionFactory) {
dataSource = ref("dataSourceListener")
}
myMessageListener(uk.my.MyMessageListener)
jms.'listener-container'( 'client-id':'clientid', 'connection-factory':'myQueueConnectionFactory', 'acknowledge':'auto', 'concurrency':'1', 'destination-type': 'topic' ) {
jms.'listener'( destination:'my.queue', ref:'myMessageListener', subscription: 'subscription' )
}
我已经指定了客户端ID和订阅值。但是似乎每次我与队列建立连接时,都会注册一个新的使用者。显示为“TSUB _....”之类的内容。如果我停止并启动我的应用程序,则会创建另一个使用者,并且在应用程序关闭时添加到队列中的所有消息都不会出队。
任何人都可以指出正确的方向来创建持久订阅。我以为我的“客户ID”和“订阅”值会为我做到这一点。我需要在其他地方指定这些吗?
谢谢!
最佳答案
好的,我找到了解决方案。将我的目标类型更新为“durableTopic”就可以了。
关于spring - Spring JMS/AQ。如何为多个使用者队列创建持久订阅。 ils子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17791845/