JMS和消息驱动Beans的常见和有用的用法是什么?
发布于 2010-03-14 01:25:13
异步通信:调用者快速返回,可以继续工作(无需创建新线程),消息可以稍后处理。可以存储消息,即使服务器发生故障,一旦服务器重新启动,也可以继续处理这些消息。可以将消息分发到多台机器(可根据规则)。
调用者和被调用者可以解耦(调用者不必知道谁将消费消息,以及有多少消息消费者)。
与同步通信相比,它具有巨大的性能优势。对于每秒必须处理大量消息的服务(例如Twitter ),这样的消息传递中间件可能是至关重要的。但它并不局限于人类可读的消息。
发布于 2010-03-14 01:30:38
选择JMS和MDB的另一个原因是保证交付。如果接收方不可用,则同步的点对点呼叫失败,但是可以建立队列来保证递送、处理重试或事务失败、对“有毒”的消息使用错误队列等。
JMS中内置了两种传输模型:使用队列的点对点传输模型和使用主题的发布/订阅传输模型。每种方法都有自己的优势。
JMS和MDB的缺点是响应速度。您可能喜欢解耦,但是如果您阻塞并等待响应,那么它肯定比直接的远程方法调用慢,因为需要两次网络调用,而不是只涉及一次。
https://stackoverflow.com/questions/2439207
复制相似问题