Java Message Service (JMS) ou Jakarta Messaging
Explicação simples sobre JMS (ou Jakarta Messaging)
Outra explicação simples sobre JMS
Cliente JMS para RabbitMQ
https://www.rabbitmq.com/jms-client.html
Ferramenta GUI para monitorar filas e mensagens JMS
https://developer.jboss.org/thread/155277
Broker com suporte a JMS
https://activemq.apache.org/components/artemis/
Conceitos básicos do Java Message Service
https://docs.oracle.com/javaee/6/tutorial/doc/bncdx.html
No JMS há 2 entidades:
JMS provider - software que monitora e controla mensagens JMS.
JMS clients - Programas que consomem (consumer) ou publicam (producer, publisher) mensagens.
O que eu preciso para ter um sistema JMS funcionando?
JMS Provider
O JMS Provider é que, armazena as mensagens enviadas em filas e tópicos.
Um programa rodando um JMS Provider (em sua maioria são plataformas que implementam a especificação do Java EE 6, e acima de 6):
- Apache ActiveMQ Artemis
- JBoss Application Server (JBoss AS) (descontinuado)
- Wildfly (sucessor do JBoss)
- TomEE (Tomcat + Java EE)
- SAP Netweaver
- Glassfish
- IBM WebSphere Application Server
- IBM WebSphere Application Server Community Edition
- Oracle Weblogic Server
... e todos os applications servers que implementem o Java EE 6 (e acima de 6)
JMS Client
São softwares que se conectam ao JMS Provider e podem consumir ou publicar mensagens.
javax.jms (nativa para qualquer projeto Java utilizando JDK 6 ou superior)
RabbitMQ JMS Client
Kafka JMS Client
Semelhanças entre JMS e AMQP 0-9-1
O JMS pode operar de duas formas:
Point-to-Point (PTP) Messaging
Muito semelhante ao "Direct" do AMQP.
Publish/Subscribe Messaging
Muito semelhante ao "Topic" do AMQP.
Referências
Tutorial completo da Oracle sobre JMS
https://docs.oracle.com/javaee/7/tutorial/partmessaging.htm
Artigo da Oracle de introdução ao JMS
https://www.oracle.com/technical-resources/articles/java/intro-java-message-service.html
Documentos da Oracle - Conceitos básicos da JMS API
https://docs.oracle.com/javaee/6/tutorial/doc/bncdx.html
Como JMS funciona e como usá-lo com o Active MQ?
https://www.devmedia.com.br/como-implementar-a-troca-de-mensagens-com-jms/25127
JMS com ActiveMQ
https://dzone.com/articles/jms-activemq
Tutorial JMS com Glassfish 3
https://www.javatpoint.com/jms-tutorial
JMS Providers, todas as plataformas que implementam o Java EE
https://www.oracle.com/java/technologies/compatibility-jsp.html
AMQP vs JMS
https://www.educba.com/amqp-vs-jms/
RabbitMQ e seu Cliente JMS
https://www.rabbitmq.com/jms-client.html