JMS

The Solace PubSub+ Messaging API for JMS, version 10.18 uses the standard JMS interface to provide JMS service for Java-based applications through a Solace PubSub+ event broker. The PubSub+ Messaging API for JMS supports JMS version 1.1.

Resource Adapters

To use the Solace JMS implementation in a Java Platform, Enterprise Edition (Java EE) application server environment, you can deploy a Solace‑provided, Java Connector Architecture (JCA) 1.5-compliant resource adapter for the particular Application Server platform being used to provide enterprise applications with connectivity to event brokers. Solace currently provides a Resource Adapter for Red Hat JBoss EAP 6.2, and WebSphere Application Server V7 and V8. For more information, refer to Using Solace JMS in JEE Environments.

JMS Concepts

If you haven't used JMS and Solace PubSub+ event brokers together before, we recommend that you look at the JMS section in Overview: How Apps Interact with PubSub+ Messaging Components. It'll take you on a tour of the PubSub+ event broker's messaging components, and explain at a high level how they make data move with JMS from producers to the broker, and from the broker to consumers.

Context Propagation for Distributed Tracing

You can use manual instrumentation or OpenTelemetry Java auto-instrumentation to provide span context propagation for distributed tracing. The Solace PubSub+ OpenTelemetry Integration for Solace JMS API is an additional optional library that you can deploy alongside the JMS API. It allows you to inject context into or extract context from PubSub+ event messages. It also enables JMS auto-instrumentation to inject context into JMS messages.

The Solace PubSub+ OpenTelemetry API Libraries support W3C propagators only.

For more information about how context propagation works, see Context Propagation for Distributed Tracing. For information about version requirements, see Distributed Tracing Version Compatibility.

For auto-instrumentation, we recommend that you use only version 1.19 of the OpenTelemetry Instrumentation for Java library. Other versions are not compatible with Solace APIs. For version details, see https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases.

JMS auto-instrumentation does not support context propagation on synchronous receive.

Get Started with JMS Messaging Tutorials

These tutorials introduce you to the fundamentals of using JMS to develop applications using Solace PubSub+. They cover pub/sub, message persistence, request/reply, and more.