java - JMS 消息队列可以在这种情况下用于我的用例吗?

标签 java jms message-queue activemq

我是消息队列系统的新手,特别阅读了一些有关 JMS 的内容。 This question也有助于更好地理解 JMS 的实际用例。

我们的应用程序是基于 Web 的应用程序,并且正在尝试找出应用程序上下文中的特定流程是否可以有效地利用 JMS。上下文解释如下:

There is an Email Event in the application, that will trigger email to a set of predefined listeners, whenever an event happens in the application. Event could be Consultants submitting timesheet, Consultants submitting expense, etc. Application allows to configure different set of listeners for different events.

我的问题是,是否可以使用 JMS 来触发电子邮件,以便它与应用程序逻辑松散/解耦(在本例中为提交时间表/费用),而不是等待所有电子邮件都被发送传递给听众。在这种情况下使用 JMS 有意义吗?我也想了解我对 JMS 架构的看法/观点在这方面是否正确。非常感谢有经验的用户的评论/想法/想法/建议/建议。

注意:我们的交易工具是:Java、JDK1.6、JSP、Apache Tomcat v6.0.10、PostgreSQL v8.2.3

最佳答案

当然。您可以创建包含适当属性的 JMS 消息。预先配置的监听器将订阅主题并接收由选择器过滤的消息。由于 JMS 选择器使用类似 SQL 的语法,因此您可以动态创建 JMS 订阅者并根据应用程序要求和当前配置构建选择器。

例如,type='timesheet' from='Consultant' 将仅选择顾问提交的时间表。其他选择器 type='expenses' from='Bookkeeper' 将获取其他事件(并且可能会采用不同的电子邮件格式。

这个:type='systemcrash' from='monitor' 将在周日凌晨 3:00 向系统管理员发送短信:)。

关于java - JMS 消息队列可以在这种情况下用于我的用例吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7157039/

相关文章:

java - 使用 espresso 在回收器 View 中单击子按钮

message-queue - Kafka 0.8 生产者,使用 "request.required.acks"属性

python - 发出队列中作业结束的信号?

java - JMS 和 AMQP - RabbitMQ

Java 生成文件错误

java - 检测对象类型然后相应地转换它?

java - 循环遍历包含字符串和另一个映射的映射

Java JMS - 消息监听器和 onException

spring - Grails中的JMS请求/答复模式

java - ActiveMQ 未收到来自生产者的消息