JCSMP, JMS, and New Java APIs now support WebSockets!

Aaron
Aaron Member, Administrator, Moderator, Employee Posts: 595 admin

Hi Community! 👋🏼

Just wanted to drop a note here in case you missed the Release Notes or Product Notification emails… Solace has added WebSocket support to JCSMP and all its derivative APIs..! Specific versions are:

  • Solace PubSub+ Messaging API for Java (JCSMP) 10.24.0
  • Solace PubSub+ Messaging API for JMS 10.24.0
  • Solace PubSub+ Messaging API for Java 1.6.0

This allows a JCSMP app to connect to the SMF Web Messaging port (usually 8008 or 8443 on software brokers, or 80 and 443 for Cloud and appliances) rather than the SMF TCP ports 55555 or 55443. I think this will be most useful in the cloud where advanced proxy/tunneling/networking configurations are supported for web connections (vs. raw TCP protocols).

Note that you'll have to use ws:// or wss:// in front of your host string.

In terms of performance: no offical word from Solace, but with some quick testing using my DirectPublisher and DirectSubscriber samples (with 0 sleep between messages), I don't notice any difference… I was able to get about 210,000 msg/s pub and sub on a 1GbE NIC with both TCP and WebSockets. So that's good!

The one caveat here is that SMF over WebSockets does not support DTO (Deliver To One). So if you're still using DTO (instead of the newer Shared Subscriptions for load-balancing Direct messages between applications), it won't work.

Anyhow, now you know! GIve it a try..!