JMS(ActiveMQ是JMS代理实现)可以用作允许异步请求处理的机制。您可能希望执行此操作,因为请求需要很长时间才能完成,或者因为实际的请求可能涉及多个方面。使用它的另一个原因是允许多个客户端(可能以不同的语言编写)通过JMS访问信息。ActiveMQ是一个很好的示例,因为您可以使用STOMP协议来允许从C#/
Java / Ruby客户端进行访问。
一个真实的示例是用于为特定客户下订单的Web应用程序的示例。作为下订单的一部分(并将其存储在数据库中),您可能希望执行许多其他任务:
- 将订单存储在某种第三方后端系统(例如SAP)中
- 发送电子邮件给客户,通知他们已下订单
为此,您的应用程序代码会将消息发布到包含订单ID的JMS队列中。您的应用程序中侦听队列的一部分可以通过获取orderId来响应该事件,在数据库中查找订单,然后将该订单提交给另一个第三方系统。您应用程序的另一部分可能负责获取orderId并向客户发送确认电子邮件。



