我有以下问题需要解决。
我需要编写一个java程序:
步骤1,2和3的计算空间要求可以在任何给定时间变化。
例如:
要解决上述设计问题,需要实现以下架构:
问题:
我很好奇是否有可以用来解决这个问题的框架?
注意:
感谢。
感谢。
答案 0 :(得分:1)
我不确定你的帖子的最终问题是什么,但你有一个合理的设计理念。我有一个问题是你在哪个环境?您是在JavaEE容器中还是只是一个简单的独立应用程序?
如果您在容器中,那么让Message Driven Beans处理JMS队列比处理工作线程池更有意义。
如果在您自己的容器中,您自己管理线程池会更有意义。话虽如此,我还会考虑运行单独的应用程序,将工作从队列中拉出来,从而为您带来更好的扩展架构。如果需要,你可以添加更多的机器,让更多的工人指向一个队列。
答案 1 :(得分:1)
尝试Apache camel或Spring Integration来连接。这些是一种集成框架,可以简化您与Web服务的交互。您需要做的是从webservice 1定义路径 - >数字计算器 - > Web服务2.中间所需的路由和转换可由框架本身处理
你将你的cruncher实现为骆驼处理器。 并行化您的计算器可以通过SEDA实现; Camel有this pattern的组件。另一个替代方案是AsyncProcessor
我要说你先来看看像camel这样的框架背后的原理。他们创造的抽象与手头的问题非常相关。