【发布时间】:2011-08-28 03:18:17
【问题描述】:
我想使用某种机制来做这样的事情 - 我有一个应用程序服务器获取处理订单的请求。一个请求可以有一个订单或两个订单。要处理应用程序需要调用外部供应商的订单,供应商一次最多可以处理 5 个订单。我想创建一个组件,如果可用,最多可以批处理 5 个订单并向供应商发出一个请求,然后当我收到响应时,将响应重新分配给适当的请求。在第一个请求到达之前,该组件会等待 2 秒,然后再触发批处理请求。
我曾想过使用 JMS,但在 JMS 中,消费者将在消息(订单)到达后立即处理它,并且消费者一次处理一条消息。我正在考虑使用常规队列(ArrayBlockingQueue)并在使用 ScheduledTimerTask 触发之前对订单进行批处理。有没有人有任何想法 - 在此先感谢。
【问题讨论】:
-
您是否尝试实施此解决方案?您是否遇到任何具体问题?