Насколько я могу судить, Spring Events - это механизм событий уровня приложения , позволяющий взаимодействовать / координировать различные части конкретного приложения. Масштаб и функциональность кажутся довольно узкими и маленькими соответственно. Вы можете публиковать события и обрабатывать эти события синхронно или асинхронно. Там нет брокер , по сути. Эта функциональность может идеально подойти для вашего приложения, если это все, что ему нужно.
С другой стороны, ActiveMQ - это полнофункциональное сообщение брокер . Вообще говоря, он работает как независимый серверный процесс (хотя он может быть встроен в ваше приложение). Он поддерживает стандартные отраслевые протоколы, такие как AMQP, MQTT и STOMP, которые имеют клиентские реализации на многочисленных платформах и на разных языках. Например, вы можете отправлять сообщения STOMP через Websockets от клиента Javascript и обрабатывать эти сообщения с помощью клиента AMQP, написанного на .NET в Windows. Он обеспечивает реализацию клиента JMS и JNDI. Он поддерживает семантику «публикация-подписка» и «точка-точка». Вы можете использовать его в качестве платформы интеграции и масштабировать его до многоузловых кластеров с высокой доступностью для данных сообщений и тысяч удаленных клиентов, использующих различные протоколы, или вы можете встроить его в свое приложение и использовать его только для локальных событий.