【发布时间】:2011-10-26 04:09:26
【问题描述】:
我是一名 Web 开发人员,最终从事了一些 j2ee 开发(新手)。我真诚地需要证实这个理论。
当用户点击保存按钮时,我有权将消息从我们的系统(生产者)传递到 SOA Enterprise 服务总线(消费者)。信息不能遗漏或不能送达,必须保留送达顺序。
环境:
- Jboss eap 5.1 作为生产者。
- JNDI 服务器是 ESB(可能是标准的)。
- Jboss ESB 作为消费者。
由于异步特性,我选择的武器是 JMS、p2p。
当生产者即将发送消息时,可能会出现一些问题:
- ESB 关闭导致 JNDI 异常
- 队列管理器由于某种原因未唤醒或配置错误。这应该会导致一些 JMS 异常。
- 网络中断,导致 JMS 错误。
所以我正在寻找一些故障转移模式。这是我的建议:
- 添加最初添加消息的内部 JMS 队列。
- 添加一个侦听内部队列并尝试将其发送到目标队列 (ESB) 的 MDB。
- 如果以任何方式失败,请记录致命并发送电子邮件给酷支持人员。
这应该生成一个可靠的模式,其中消息保留在内部队列上,直到被 MDB 处理。
请指教。
最好的问候
ds
【问题讨论】:
-
我认为异步和保持交货顺序是矛盾的。当然,MDB 不保证保持秩序,恰恰相反......
标签: jms jndi jboss5.x esb message-driven-bean