Supported Environments in the PubSub+ JCSMP API

The PubSub+ JCSMP API is compatible with many different operating systems and platforms.

The following table summarizes the major operating systems and environments supported for the PubSub+ JCSMP API. For the complete list of operating systems and platforms supported for the API, see the section that follows:

Operating System Platform JCSMP1
Windows x86/x86_64 Supported
macOS

x86_64

Supported

ARM (M-Series)

Supported

Linux

x86

Supported

x86_64

Supported

ARM

Supported
Alpine Linux x86_64 Supported

1JCSMP 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.

Each environment that supports client connections to the event broker using Transport Layer Security (TLS) / Secure Sockets Layer (SSL) encryption is indicated. When the term TLS/SSL is used in this documentation, it refers to these forms of data encryption. Depending on the PubSub+ Messaging API:

  • Support for different Transport Layer Security versions vary for each API. The versions available are TLS 1.0, TLS 1.1, and TLS 1.2. The recommended version to use is the most recent version of TLS.
  • Secure Socket Layer (SSL) protocol version support varies for each API. We don't recommend that you use SSL unless it's required for backwards compatibility.

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.

  • 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 the CLASSPATH during the compiler invocation.
    • Ensure that the CLASSPATH set when invoking the javac compiler includes all the .jar files in the JCSMP  lib directory. For information on Apache Ant, refer to http://ant.apache.org.
  • OSGi support—The JCSMP (sol-jcsmp) JAR file includes metadata conforming to the OSGi standards and can be deployed as an OSGi bundle.