我正在尝试实现一个应用程序(Java),它将通过TIBCO EMS从其他不同的应用程序订阅不同的消息类型(XML)。每种消息类型都有特定的用途。我认为我应该在我的应用程序中有多个具有多个订阅者的队列,但是,TIBCO的人坚持认为应该只有一个队列,其中所有这些消息都将被发布,我将有一个订阅者和订阅者然后应该根据收到的XML有不同任务的逻辑。
哪种方法更好?一个有多个队列和订户或一个队列和一个订户?请让我知道选择的原因。
谢谢!
-Naveen
答案 0 :(得分:1)
通常,如果同一个应用程序正在读取所有消息,那么该应用程序使用单个输入队列而不是多个输入队列会更加清晰。使用多个应用程序将需要具有逻辑来知道处理队列的顺序等等。使用一个输入队列,消息传递系统可以处理消息的顺序 - 无论是FIFO还是优先级等,应用程序只需读取下一条消息并进行处理。
答案 1 :(得分:1)
发送邮件时,为每个类型的xml 使用唯一邮件头。并在接收相同内容时使用message selectors / filters
,以便可以根据标头值将路由/委派到相应的处理程序。这样,您就可以通过单个队列处理不同类型的xml消息。