从 Solace JCSMP 发送的消息可以在用其他语言编写的服务中使用吗

Can messages sent from Solace JCSMP be consumed in services written in other languages

Solace JCSMP 到底是什么?

它只是更适合 Solace 的 JMS API 吗?它还有哪些其他好处?

例如,我需要使用 SolaceMQ 创建一个 Java 应用程序,该应用程序需要通过 to/from AMQP 协议 send/receive 消息,以便用不同语言编写的所有不同微服务都可以能够消耗它们。 JCSMP 适合吗?或者它只是另一个 JMS API,它只能在 Java 个应用程序之间工作?

What exactly is Solace JCSMP?

JCSMP 是 Solace 的 SMF(Solace 消息格式)协议的经典 Java API。请注意,Solace 最近为 java 开发人员使用他们的事件代理引入了更现代的消息传递 API,它被称为“PubSub+ 消息传递 API for Java”。如果您是 Solace 的新手并且正在使用 Java,那么使用它而不是 JCSMP 可能是有意义的。

Is it just a more suited JMS API for Solace? What kind of other benefits does it have?

JCSMP 允许开发人员利用 Solace Broker 提供的完整功能集,而 Solace JMS 实现仅涵盖 JMS 规范本身定义的功能。例如,使用重播或 Queues 订阅主题等 Solace 功能无法通过 JMS API 以编程方式实现,如果使用 JMS 则必须以管理方式完成。

For example, I would need to create a Java application using SolaceMQ that needs to send/receive messages over to/from AMQP protocol so that all different microservices written in different languages would be able to consume them. Is JCSMP right for that? or is it just another JMS API that it only works between Java applications?

Solace PubSub+ Event Brokers 提供代理支持的任何协议之间的协议转换。无论您使用的是 SMF(Solace JMS 和 JCSMP 都使用)、MQTT、AMQP 1.0 等,还是使用什么编程语言,都没有关系。例如,当您使用 JCSMP 发送消息时,您可以使用使用 JMS 的 Java 应用程序、使用 AMQP 的 Python 应用程序和使用 MQTT 的 Go 应用程序接收消息。 Solace Event Broker 甚至支持使用它调用 RESTful webhook(查看 Solace“Rest Delivery Endpoints”)。请注意,如果您正在使用 headers,您将需要查看 Solace 文档以了解它们在协议转换期间的映射方式。