Name | Description | Introduced in Version |
---|---|---|
Java - WebSocket Support | The Java API now supports the WebSocket transport protocol. | 1.6.0 |
Java - Update API License Agreement | We have simplified the API license text and clarified that distributing works containing the Solace APIs is allowed. | 1.5.0 |
Support for HTTP And SOCKS5 Proxy | The API now supports connecting to a Solace broker via an HTTP or SOCKS5 proxy. | 1.5.0 |
Java API - Provide Ability to NACK a Specific AD Message and Force Re-delivery | The Messaging API for Java now supports message NACK. | 1.4.0 |
Java API - Support for Partitioned Queue | This enhancement adds support for Partitioned Queues to the API. Partitioned Queues expand PubSub+ to provide deterministic, ordered, and non-exclusive message delivery for customers to scale the number of consumers when publishing ordered datasets. The ordered datasets are keyed to ensure all events in the dataset are sent to the same consumer without mis-ordering events. | 1.3.0 |
Support Queue Browsing for Java API | This enhancement provides a browser interface that allows applications to look at Guaranteed Messages spooled for a queue in the order of oldest to newest without consuming them. | 1.2.0 |
Direct Messaging Request/Reply | The API now supports synchronous request/reply with helper classes to await response from a replier. | 1.1.0 |
OAuth/OIDC Support in Java API | OAuth / OpenID Connect has been added as a method of authenticating and authorizing clients connecting to the PubSub+ Event Broker using the SMF protocol. Clients using Solace APIs will be able to present a token as a credential during client login. This enables clients to integrate with modern identity and access management systems. | 1.1.0 |
API Server Certificate Validation Using Subject Alternate Name | This feature compares the DNS name that the API is trying to connect to with the DNS name stored in the subject alternate name of the server certificate, following the current security best practice for TLS connections. | 1.1.0 |
New, Modern Java Client API | This is the initial release of the PubSub+ Messaging API for Java. Solace created this API to modernize our JCSMP API. This is a separate standalone API which provides modern interfaces, patterns, and usability in a native Java environment. This version contains a feature set that allows for common messaging patterns like publish/subscribe using Direct Messaging and Guaranteed Messaging. This API provides support for all deployments of PubSub+ across software, appliance, and cloud. Future versions of the Java API will introduce more features as Solace builds out the roadmap for this API. The Java API 1.0.0 supports: * Connection management to PubSub+ event brokers * Addition and removal of topic subscriptions * Sending and receiving Direct and Guaranteed Messages * Message compression * Use of Selectors * Kerberos authentication * Message Replay * Structured data types that allow interoperability between various architectures and programming languages The Java API 1.0.0 does not support the following features: * Request/Reply message exchange pattern * PubSub+ Cache Client API support * Session Transactions * XA Transactions * Queue browsing | 1.0.0 |
New Java API - Replay From Message ID | Applications can now replay messages following the message-ID of the last message which they successfully-processed. The feature uses "replication group message ID", which uniquely identifies messages within an HA group and Replication/DR group of brokers. The broker includes this ID in all guaranteed messages it delivers to the consumer. Consuming applications can extract and save this ID along with the message payload, and then use it later to initiate a replay. This is a more "fine-grained" way to start a replay than from date-and-time, and is ideal in cases where the last message-ID successfully processed is known by the application (e.g. recovery from a database crash). | 1.0.0 |
Reference Number | Description | Resolved in Version |
---|---|---|
SOL-120798 | No active flow is found and messages are not delivered when the corresponding guaranteed consumer flowId is greater than the largest signed 32-bit integer (2,147,483,647). | 1.6.0 |
SOL-99361 | PersistentMessagePublisherBuilder fails to inherit the ServiceProperties.GENERATE_SEND_TIMESTAMPS and ServiceProperties.PUBLISHER_PERSISTENT_ACK_WINDOW_SIZE session properties. Workaround: Manually set the properties on the PersistentMessagePublisherBuilder using PersistentMessagePublisherBuilder.fromProperties(). | 1.4.0 |
SOL-56499 | The default client name does not follow the pattern set out in other Solace APIs of <host>/<PID>/<sessionID>. | 1.2.0 |
SOL-54746 | The stat PERSISTENT_ACKNOWLEDGE_SENT is not accurate when using multiple receivers in a single service. | 1.1.0 |
Reference Number | Description | Introduced in Version |
---|---|---|
SOL-110719 | A latest version of JDK 8 is required to avoid a 'NullPointerException' issue during SSL handshake caused by HostnameChecker (see https://bugs.openjdk.org/browse/JDK-8211339 for details). | 1.5.0 |
SOL-56498 | The method withClassOfService() has been deprecated and replaced with solace.messaging.message.class-of-service. | 1.1.0 |
SOL-56772 | It is no longer an error to add a subscription that already exists on the consumer. The duplicate is now silently ignored. Similarly, it is not an error to remove a subscription that does not exist. | 1.1.0 |
Reference Number | Description |
---|---|
SOL-53216 | The JCSMP, JMS, Jakarta Messaging, and Java API may lock up if an application thread continuously interrupts JCSMPXMLMessageProducer.send() and triggers a session reconnect. |