javajmsmessagingloose-coupling

how 2 different applications implemented on different language communicate through JMS?


Can 2 programs in different language like one in C and other in Java can communicate through JMS? If yes how and if not how messaging is implemented in 2 different platform applications?


Solution

  • JMS is just an API - and it's a Java API. JMS is not a protocol.

    In order for clients in different languages to exchange messages with each other you just need a message broker which supports protocols that have clients for your various languages & platforms.

    For example, ActiveMQ Artemis provides its own JMS client which your Java clients can use. It also supports protocols like STOMP, MQTT, & AMQP which you can use from your C client (e.g. Qpid Proton). Messages sent to the broker via one protocol can be consumed by a different protocol. This is one of the reasons that message brokers are used as integration platforms.