0

我正在尝试在 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”值会为我做这件事。我需要在其他地方指定这些吗?

谢谢!

4

1 回答 1

1

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

于 2013-07-23T11:35:30.440 回答