今日、Spring Integration を調べたところ、シナリオに適していることがわかりました。ExecutorChannel を使用して、異なるスレッドのメッセージを一度に 1 つずつ処理できます。実際、BlockingQueue 自体を使用してシナリオを非常に簡単に実装できます。とにかく、お気遣いありがとうございます!
ところで、誰かが興味を持っているなら、これは私が思いついたものです:
Scenario for an individual Bean:
Allocate a blocking queue
Spawn a background thread which:
Blocks until message is available in the MQ channel
When message is available:
Put a message inside a blocking queue and block until queue is not full
Repeat the sequence
Spawn a background thread which:
Blocks until queue is not empty
Processes a message when it's available in the queue
Removes a message from the queue indicating that processing is done
Repeat the sequence