Вам нужен какой-либо тип настойчивости (например, если ваша JVM умирает между обработкой тысяч сообщений) и вам нужны сообщения для перехода к любым другим JVM?
Если все это в одной JVM, и вам не нужно беспокоиться о транзакциях, восстановлении или потере сообщений в случае смерти JVM - тогда, как говорит Крис выше, с исполнителями все в порядке.
ActiveMQ довольно легкий; вы можете использовать его в одной JVM только без настойчивости, если хотите; Затем вы можете включить транзакции / постоянство / восстановление / удаленное взаимодействие (работая с несколькими JVM) по мере необходимости. Но если вам ничего не нужно, тогда это излишне - просто используйте Executors.
Кстати, другой вариант, если вы не уверены, для каких шагов может потребоваться постоянство / надежность или балансировка нагрузки для нескольких JVM, будет полностью скрывать использование промежуточного программного обеспечения , чтобы вы могли переключаться между очередями SEDA в памяти с исполнителями в JMS / ActiveMQ, как и когда вам нужно.
например. может случиться так, что некоторые этапы должны быть надежными и восстанавливаемыми (поэтому требуется некоторая настойчивость), а в других случаях вы этого не сделаете.