【问题标题】:JMS message received at only one server仅在一台服务器上收到 JMS 消息
【发布时间】:2013-11-10 08:12:58
【问题描述】:

我遇到了在使用 WebSphere ApplicationServer 8 的集群环境中运行的 JEE6 应用程序的问题。 搜索索引用于 UI 中的快速搜索(使用 Lucene),新数据到达相应的 DB 层后必须重新索引。为了实现这一点,我们向应用程序发送 JMS 消息,然后搜索索引将被刷新。 问题是,消息只到达集群成员之一。所以只有那里的搜索索引是最新的。在其他服务器上,它仍然过时。

如何实现在所有集群成员处更新搜索索引? 我可以在所有服务器上以某种方式接收消息吗? 或者有更好的方法吗?

【问题讨论】:

    标签: lucene jms websphere clustered-index synchronize


    【解决方案1】:

    我找到了一个可能的解决方案: 通常,通过队列传递的 JMS 消息仅发送到集群成员之一。我找到了一种可能的方式来获取所有集群成员的信息,使用 EJB 计时器。创建一个非持久定时器应该调用所有集群成员的回调方法。这可能是在所有集群成员上重新创建本地搜索索引的便捷方式。

    成为非持久性 ejb 计时器很重要,因为持久性计时器在集群上得到同步,并且只在一个集群成员上执行。

    【讨论】:

    猜你喜欢
    • 2011-04-23
    • 1970-01-01
    • 2010-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-29
    • 1970-01-01
    相关资源
    最近更新 更多