【问题标题】:Viewing tibco ems historical message查看 tibco ems 历史消息
【发布时间】:2014-03-06 22:50:29
【问题描述】:

Tibco 将消息存储在数据文件或数据库中。我需要浏览发布到主题或队列的旧消息。 EMS 是否提供任何 API 来搜索旧/已使用的消息? 假设我在时间 t1 有一个主题 complexEvent.topic,发布者向 complexEvent.topic 发布消息,在时间 t2,消费者消费该消息。假设从 t2 开始 2 小时后,我需要查看在 t1 和 t1+ 10(分钟)之间发布到主题 complexEvent.topic 的所有消息。 如何搜索旧邮件?

【问题讨论】:

    标签: tibco-ems ems


    【解决方案1】:

    EMS 不按设计存储消息副本:MOM 不是 DBMS,MOM 通常应针对性能进行优化。

    对于像您这样的特定和 PUNCTUAL 需求,我只需从要登录到“DESTINATIONNAME.log”队列的目标(主题,队列)创建一个 EMS 桥(类似于 MQ 别名,请参阅 EMS 文档) .这样,当前代码和目的地不受影响。

    之后,您可以使用 Java QueueBrowser 和 MessageSelector 在日志队列中搜索消息。 有关详细信息,请参阅此Oracle Documentation

    别忘了清理队列(你也可以设置消息限制和溢出策略)。

    如果性能至关重要,请考虑将日志记录队列存储在不同的 EMS 实例上。

    【讨论】:

    • 您好 GhislainCote,感谢您的回答。我正在为开发团队提供一个 TIBCO 平台。他们可以使用自动安装脚本构建主题和队列。我无法控制创建桥接,因为我不知道何时会创建新主题或队列,但需要仪表板来监控历史消息并搜索特定消息。即使我们重新启动 EMS 服务器,monitor 也应该在重新启动之前找到一条消息。
    • 我看到的唯一其他可能性,除了拥有一个完全独立的日志存储库之外......是将 EMS 存储设置为 Databse 而不是文件。然后你应该能够通过直接连接到数据库来构建一个(基于 Web 的?)仪表板......不需要 EMS。祝你好运!
    • 谢谢!我找到了一种混合方法 - 读取系统目标并将所有消息记录到自定义数据库表中。
    猜你喜欢
    • 1970-01-01
    • 2018-12-08
    • 1970-01-01
    • 1970-01-01
    • 2021-10-29
    • 1970-01-01
    • 1970-01-01
    • 2020-05-10
    • 2019-08-10
    相关资源
    最近更新 更多