spring - Spring JMS/AQ。如何为多个使用者队列创建持久订阅。 ils子

标签 spring oracle grails queue jms

我试图在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/

相关文章:

Spring测试@Sql不从sql文件中插入数据

oracle - 如何在 PL/SQL 中重用查询 block 以最大程度地减少代码样板和对象意大利面

sql - 计算列日期范围内每个日期出现的行数

grails - remoteFunction 调用不工作 grails

java - 如何从spring jms中清理jms队列?

java - Spring Data 和 JPA 的编译时错误

SQL 查询比较同一个表的两个最近修改的行

grails - webtest 和 grails 的性能问题

grails - 按单词Grails中的第一个匹配字母搜索

java - 如何使用 AspectJ 和 log4j 原始日志行号?