【发布时间】:2013-01-23 21:49:30
【问题描述】:
我正在使用 weblogic 10.3 。 我正在尝试使用由 jdbc 存储(在 Oracle DB 中)支持的持久消息配置持久订阅。我有一个 MDB 作为持久订阅者正在监听的主题。 在方案 1 下:如果我发送消息,它会到达 MDB。
在场景 2 下:我暂停 MDB,希望发送到主题的消息只要不被 MDB(它是唯一注册的持久订阅者)消费,就会一直存在。但是当我确实将消息发送到主题时,它会短暂显示在那里然后消失(我使用 HermesJMS 看到它)。
我的印象是,在这种情况下,由于消息没有被 MDB 消费,它们将被记录到 JDBC 存储中,但是 oracle db 中的 WLSTORE 表也没有得到任何持久化的消息。
后来我发现消息确实显示在主题 > 持久订阅者 > 在管理控制台中显示消息。
所以很明显,主题并没有保留消息,但是在它下面注册的持久订阅会保留它,直到消息被消费为止。
问题-1)但是消息不进入基于Oracle的jdbc存储的事实仍然没有意义吗?我在这里做错了什么?
问题 -2)即使我确实恢复 MDB 以开始侦听消息,该主题仍会在持久订阅者(在管理控制台中)下继续显示所有消息仍然完好无损 - 我希望它们会从那里被删除,因为它们由唯一注册的持久订阅者处理。
【问题讨论】:
标签: jms weblogic persistent