【发布时间】:2011-11-15 00:56:15
【问题描述】:
我正在开发一个系统,用于接收与医院患者活动相关的消息,解析并存储这些数据(HL7 2.x 消息)。 一些消息可能包含基本的患者信息,其他消息可能包含实验室结果、转录文件等。
我想使用异步可靠的消息传递系统来执行此操作(例如 WCF + MSMQ 或 Apache Camel + ActiveMQ。看起来这些技术很适合。
不过,我无法理解如何应用这些技术来解决问题。 如果在为患者解析和存储数据时收到消息并且出现问题,我需要停止处理该患者的传入消息,直到问题得到解决。
如果出现问题,我真的不想停止处理所有患者的消息,而只是停止处理有问题的单个患者的消息。
是否有我缺少的设计模式或某种处理此类情况的方法?
我很可能会使用数据库来存储消息并跟踪单个患者队列。如果发生错误,我可以锁定患者,以便在问题解决之前不再处理消息。
我只是在寻找健全性检查。是否有更简单的方法来做到这一点,或者手动管理数据库中的队列和患者是否是解决此问题的合理方法?
【问题讨论】:
标签: wcf jms msmq messaging apache-camel