Spring JMS / AQ。如何为多个使用者队列创建持久订阅。 Grails的

时间:2013-07-22 15:43:19

标签: spring oracle grails queue jms

我正在尝试在oracle中创建对多个使用者队列的持久订阅。使用JMS Spring支持。这是Grails应用程序。

我的春季代码如下:

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 _....”之类的内容如果我停止并启动我的应用程序,则会创建另一个使用者,并且在应用程序关闭时添加到队列的任何消息都不会出列。

任何人都可以指出我正确的方向来创建一个持久的订阅。我以为我的'client-id'和'subscription'值会为我做这个。我需要在其他地方指定这些吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

好的,我找到了解决方法。将我的目标类型更新为'durableTopic'就可以了。