Как 2 разных приложения, реализованные на разных языках, общаются через JMS?
Могут ли 2 программы на разных языках, например одна на С, а другая на Java, общаться через JMS? Если да, то как, а если нет, как обмен сообщениями реализован в 2 разных приложениях платформы?
1 ответ
JMS - это просто API - и это API Java. JMS не является протоколом.
Чтобы клиенты на разных языках обменивались сообщениями друг с другом, вам просто нужен брокер сообщений, который поддерживает протоколы, которые имеют клиентов для ваших разных языков и платформ.
Например, ActiveMQ Artemis предоставляет свой собственный клиент JMS, который могут использовать ваши клиенты Java. Он также поддерживает протоколы, такие как STOMP, MQTT и AMQP, которые вы можете использовать со своего клиента C (например, Qpid Proton). Сообщения, отправленные брокеру по одному протоколу, могут использоваться другим протоколом. Это одна из причин, по которой брокеры сообщений используются в качестве платформ интеграции.