代码之家  ›  专栏  ›  技术社区  ›  den bardadym hakatashi

JMS-常用

  •  2
  • den bardadym hakatashi  · 技术社区  · 14 年前

    JMS和消息驱动bean的常见和有用用途是什么?

    2 回复  |  直到 12 年前
        1
  •  10
  •   Chris Lercher    14 年前

    异步通信:调用者返回很快,可以继续工作(不创建新线程),消息可以稍后处理。可以存储消息,即使服务器发生故障,一旦服务器再次启动,也可以继续处理这些消息。消息可以分发到多台计算机(根据规则可选)。

    调用者和被调用者可以分离(调用者不必知道,谁将使用消息,以及有多少消息使用者)。

    与同步通信相比,它具有巨大的性能优势。对于必须每秒处理大量消息的服务来说,这样的消息中间件可能是至关重要的(例如,想想Twitter)。但它并不局限于人类可读的信息。

        2
  •  5
  •   duffymo    14 年前

    选择JMS和MDBS的另一个原因是保证交付。如果接收器不可用,则同步点对点调用将失败,但可以设置队列以确保传递、处理重试或事务失败、对“有害”消息使用错误队列等。

    JMS中内置了两种传输模型:点到点使用队列和发布/订阅使用主题。各有其优点。

    JMS和MDBS的缺点是响应速度。您可能喜欢去耦,但是如果您阻塞并等待响应,它肯定会比直接远程方法调用慢,因为涉及两个网络路由,而不是一个。