2016-01-20 144 views
0

我想实现一个应用程序(Java),它将通过TIBCO EMS从其他不同的应用程序订阅不同的消息类型(XML)。这些消息类型中的每一种都有特定的用途。我认为在我的应用程序中应该有多个订阅者的多个队列,但是,TIBCO的人坚持认为应该只有一个队列将发布所有这些消息,然后我将有一个订阅者和订阅者应根据收到的XML对不同的任务进行逻辑处理。一个TIBCO队列中的不同消息类型(XML)?

哪种方法更好?一个拥有多个队列和订阅者,或者一个队列和一个订阅者?请让我知道选择的理由。

谢谢!

-Naveen

回答

1

一般来说,如果同一个应用程序正在读取的所有邮件,它是用于该应用程序有一个单一的输入队列,而不是多输入队列更清洁。有了多个,那么应用程序将需要逻辑来知道处理队列的顺序等等。通过一个输入队列,消息传递系统可以处理消息的顺序 - 无论是FIFO还是优先级等,并且应用程序可以读取下一条消息并对其进行处理。

1

在发送消息时,为每个类型的xml使用唯一的消息头。并且在接收相同消息时使用message selectors/filters,以便它可以根据报头值将路由/委托到相应的处理程序。这样,您将能够通过单个队列处理不同类型的xml消息。