Supported Environments for the PubSub+ JCSMP API
The PubSub+ JCSMP API is compatible with many different operating systems and platforms. The major operating systems and environments supported for the PubSub+ JCSMP API are listed below:
- Windows
- x86/x86_64
- macOS
- x86_64
- ARM (M-Series)
- Linux
- x86
- x86_64
- ARM
- Alpine Linux
- x86_64
JCSMP requires any version of a Java Development Kit (JDK) that is in active support for the platform and operating system. Versions 10.23 and later of the PubSub+ JCSMP API rely on the latest supported version of the Netty library as a dependency. For more information about Netty, see netty.io.
Most PubSub+ Messaging APIs support various Linux environments for desktops and servers but do not support Alpine Linux. Alpine Linux is built with musl-c
, which is typically used for containerized environments or microcontroller devices. The PubSub+ Messaging APIs are built with glibc
, which are typically used for Linux ( both desktop and server) environments. See appropriate API section on this page to determine whether Alpine Linux (musl-c
) is supported.
Java Compatibility and Build Requirements
The PubSub+ JCSMP API supports various Java environments, dependencies, and build tools:
- The PubSub+ Messaging API for JCSMP is compatible and supported with any version of the Oracle JDK or OpenJDK that is in active support and also has security update support. For information about supported versions, see the Oracle Java SE Support Roadmap.
- Java 1.8 or later is required to use TLS/SSL connections to the event broker.
- Versions 10.23 and later of the PubSub+ JCSMP API rely on the latest supported version of the Netty library as a dependency. For more information about Netty, see https://netty.io.
- The PubSub+ JCSMP API includes a sample Ant build script (
build.xml
) with the sample applications that shows how to add the PubSub+ Messaging API libraries to theCLASSPATH
during the compiler invocation.- Ensure that the
CLASSPATH
set when invoking thejavac
compiler includes all the.jar
files in the JCSMPlib
directory. For information on Apache Ant, refer to http://ant.apache.org.
- Ensure that the
- OSGi support—The JCSMP (
sol-jcsmp
) JAR file includes metadata conforming to the OSGi standards and can be deployed as an OSGi bundle.
TLS and SSL Support
Transport Layer Security (TLS) provides secure connections between PubSub+ Messaging APIs and event brokers. The PubSub+ JCSMP API supports the following TLS versions. The recommended version to use is the most recent version of TLS:
The PubSub+ JCSMP API now supports TLS 1.3 connections when connecting to event brokers that request TLS 1.3, allowing you to prepare your client applications in advance. Full end-to-end testing capabilities will be enabled with the upcoming event broker release 10.25.0, planned for June 2025. For more information, see Support Dates for Release Versions. After 10.25.0 is available, you can then perform end-to-end testing and deployment of TLS 1.3.
- TLS 1.2
- TLS 1.3—Requires version 10.27 or later of the PubSub+ JCSMP API.
In this documentation, the term TLS/SSL refers to Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols used for securing data transmission. We don't recommend that you use SSL unless it's required for backwards compatibility.
Java 1.8 or later is required to use TLS/SSL connections to the event broker.