sol-jms Upgrade
Hi,
We are running, on the broker side:
Solace PubSub+ 3560 Version 10.8.1.140
Index SolBase Version
------ --------------------------
6 solbase_4.2.58.0
On the app side:
<java-version>11</java-version>
<spring-boot>2.7.18</spring-boot>
<sol.jms>10.2.2</sol.jms>
<jms.version>1.1</jms.version>
<javax.jms.api>2.0.1</javax.jms.api>
Imagine our horror when we realise "sol.jms" is close to 7 years old.
Given our versions of Java and spring-boot (spring 5.3.31), and the broker we have, could you recommend a safe version of "sol.jms" we should upgrade to (if not the very latest). And also any changes we should make to jms.version (I assume go to 2.0 if sol-jms >= 10.20) and javax.jms.api
Thank you
Best Answer
-
Hey @JimAlderman,
Please note that if you import the Solace JMS API independently, without using solace-spring-boot, compatibility may vary since the dependencies and compatibilities are not managed. Recommendations are based on the solace-spring-boot-bom description.
A reminder to please ensure you test the upgrade on your side before proceeding.
Additionally, if possible, keep the Solace JMS API updated to the latest version when using it independently.
If you are using the Spring Boot Version below 3.0.0, we believe you can use the Solace JMS API version up to 10.19.0. However, we recommend using the Solace JMS API Version 10.17.0 as a stable choice because the 'solcae-spring-boot-bom:1.3.0' (which is linked to Spring Boot version 2.7.7) uses 'sol-jms:10.17.0'.
https://github.com/SolaceProducts/solace-spring-boot/tree/master/solace-spring-boot-bom
If you are using the Spring Boot Version higher than 3.0.0, you should use the Solace JMS API version 10.20.0 or later.
- As of version 10.20, the PubSub+ Messaging API for JMS is dependent on JMS 2.0.
- Solace does not currently provide implementation for any methods or interfaces introduced in JMS 2.0.
- The PubSub+ Messaging API for Jakarta Messaging, version 10.25 supports the jakarta.jms API namespace.
You can find more information about this in the following link:
0
Answers
-
A couple of considerations - I can't really help on the right Spring version though.
Looking at https://mvnrepository.com/artifact/com.solacesystems/sol-jms10.19.x is the last version that references JMS 1.1.
Later versions reference JMS 2.0 - that SHOULD not be a big challenge as it's apparently backward compatible.
10.23.x added support for HTTP/Socks proxies which is generally great news. It introduces a dependency on netty, something to be aware of in regard to how your organisations manages dependencies.
1 -
Hey @JimAlderman,
Please note that if you import the Solace JMS API independently, without using solace-spring-boot, compatibility may vary since the dependencies and compatibilities are not managed. Recommendations are based on the solace-spring-boot-bom description.
A reminder to please ensure you test the upgrade on your side before proceeding.
Additionally, if possible, keep the Solace JMS API updated to the latest version when using it independently.
If you are using the Spring Boot Version below 3.0.0, we believe you can use the Solace JMS API version up to 10.19.0. However, we recommend using the Solace JMS API Version 10.17.0 as a stable choice because the 'solcae-spring-boot-bom:1.3.0' (which is linked to Spring Boot version 2.7.7) uses 'sol-jms:10.17.0'.
https://github.com/SolaceProducts/solace-spring-boot/tree/master/solace-spring-boot-bom
If you are using the Spring Boot Version higher than 3.0.0, you should use the Solace JMS API version 10.20.0 or later.
- As of version 10.20, the PubSub+ Messaging API for JMS is dependent on JMS 2.0.
- Solace does not currently provide implementation for any methods or interfaces introduced in JMS 2.0.
- The PubSub+ Messaging API for Jakarta Messaging, version 10.25 supports the jakarta.jms API namespace.
You can find more information about this in the following link:
0 -
Thank you rey, this is perfect
0 -
No problem Jim, big props to @steven na 2002 for helping answer this one
1