我计划使用带有固定线程池和IBM消息传递的ExecutorService编写类似于生产者和使用者的代码。
假设作为使用者,我创建了10个固定线程。如果我在消费者队列中放置10条消息,它将如何处理它?10个使用者工作线程将如何涵盖以下场景?
在处理上述场景时,有webservice调用和内部api方法调用,但这些都是同步方法。所以,如果我实现这个类来并发处理代码,有什么用处吗?
发布于 2013-08-13 20:16:46
如果您已经实现了好的工具,比如JMS、调试、支持许多特性并得到框架(例如Spring )的支持,那么实现生产者/消费者方案不是一个好主意。
别发明轮子!
发布于 2013-08-13 22:35:02
例如,如果您在应用程序服务器中运行,比如WebSphere,那么您可以简单地将消息驱动Bean (MDB)部署到JMS中,它将完成您所描述的几乎完全相同的任务。
如果您只是在构建一个Java应用程序,那么使用ExecutorService就可以了。首先将一个MessageListener放在会话上,然后让该侦听器提交()的onMessage()将消息的处理器(例如可运行的)提交给ExecutorService。一旦处理器完成了它的工作,它就应该确认消息()。
https://stackoverflow.com/questions/18218297
复制相似问题