我正在开发一个基于 Spring/CXF/Oracle DB 的“面向 WS”的应用程序。现在,我坚持一些关于组织消息处理(已经存储在数据库中)的正确方法的架构考虑。
简而言之,过程如下所示:
(A) 从客户端获取消息 -> 验证 -> 存储 -> 发送响应
(B) 流程 -> 更新数据
对于流程的 B 部分,我考虑了两种通用方法:
1)使用JMS队列
在验证并在 DB 中存储传入消息详细信息之后,将消息发布到 JSM 队列。在另一边定义 cosumer 它将检索消息并进行处理
2)获取要处理的数据
使用 db 手动获取数据并进行处理。
附加事实:
- 处理不会是计算密集型的,所以对于新的我认为不需要工作分配(全部在单个 JVM 中)。
- 单个数据库模式中的所有数据
那么,我很感兴趣在这种情况下选择 JMS 的关键因素是什么?