Our 3rd party Java17 client was configured to 11.1 nClient.jar and 11.1 nJMS.jar plus jakarta.jms-api-2-0-3.jar. This configuration allows connectivity to UM10.15 (patched forward) AND 10.7.
When the 11.1 jar files were replaced with the 10.15 (pre and post fix) nClient and nJMS jar files, we erred with "Realm unreachable"...
Original Message:
Sent: Mon November 04, 2024 12:04 PM
From: Darin Edmunds
Subject: Java 17 SSL clients connecting to Universal Messaging
I used the nClient and nJMS jar files from the 11.1 designer (Thanks Theo) and added the jakarta.jms-api.jar file and we have success connecting, sending/receiving from a Java17 application to UM with latest fixes.
Now we have it working (taking your point Akshith) we will regress the nClient and nJMS to the versions available post fix and try again. What I wasn't prepared for was using the jakarta.jms-api and again we will try other options now we have a working reference.
Many thanks to everyone who contributed.
Kind regards
Darin Edmunds
------------------------------
Darin Edmunds
Original Message:
Sent: Mon November 04, 2024 10:57 AM
From: Akshith Arremreddy
Subject: Java 17 SSL clients connecting to Universal Messaging
I have a 10.15 UM (Fix 22) and an IS with UM common library fix 22. I checked the nClient.Jar and nJMS.jar manifest files and it seems they are compiled on 1.7. I used the same jars and created a standalone Java package with run time set to Java 17. The connection seems to be working fine. I am suspecting you just need to apply the latest UM fix and that will bring in the latest jar files instead of downloading the version 11.
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Bundle-SymbolicName: com.pcbsys.nirvana.nJMS
Bundle-Version: 10.15.0.0022-1252
Created-By: 11.0.14.1 (Azul Systems, Inc.)
DSTAMP: 20240919
public class PublishToChannel { protected static nSession mySession = null; protected static nSessionAttributes nsa = null; public static void main(String[] args) { // TODO Auto-generated method stub try { nsa = new nSessionAttributes("nsp://localhost:9000"); System.out.println("Session attributes created."); mySession = nSessionFactory.create(nsa); System.out.println("Session created"); mySession.enableThreading(4); mySession.init(); System.out.println("Last session ID: "+mySession.getId()); mySession.close(); System.out.println("Session closed."); } catch (Exception ex) { System.out.println("Error creating Session Attributes. Please check your RNAME"); System.exit(1); } }}
------------------------------
Akshith Arremreddy
Original Message:
Sent: Thu October 31, 2024 06:15 AM
From: Darin Edmunds
Subject: Java 17 SSL clients connecting to Universal Messaging
I can confirm this is definitely a client side issue. Does anyone have access to 11.1 nJMS and nClient jar files? Our current implementation is WM10.15 and the java version is 17 (vendor approved upgrade) however the java version update has not affected the nJMS and nClient files hence i'm curious to try with the 11.1 version of the files (a platform founded on Java17 rather upgraded to).
We put the UM into trace mode and witnessed no connection attempts. We put a spurious URL at the client side and got exactly the same error client side. We repeated with an earlier version of the client (pre Java17) and everything worked just fine.
------------------------------
Darin Edmunds
Original Message:
Sent: Wed October 30, 2024 03:19 PM
From: Darin Edmunds
Subject: Java 17 SSL clients connecting to Universal Messaging
Thanks Holger and Akshish,
It's interesting that the com.pcbsys.nirvana... error is a return value however there is no record of a connection attempt on the server side which has thrown me. I thought this might be part of the nirvana jars and associated with the change to the SSL classes between 8 and 17. I'll try and dig a bit deeper to see if the server can yield any further info.
------------------------------
Darin Edmunds
Original Message:
Sent: Wed October 30, 2024 02:39 PM
From: Akshith Arremreddy
Subject: Java 17 SSL clients connecting to Universal Messaging
I have a customer who has similar setup. The remote Java application is deployed on IBM WAS and they use JMS(nJMS and nClient.jar files) to connect to UM but their Java version is 8.
If you are receiving com.pcbsys.nirvana error it means, it is able to reach the UM but something else at Realm level is causing the connection to fail. You can start with below steps,
- Check if you have "*@*" under ACL tab of security in Enterprise Manager.
- Make sure you have Full access for above entry including Admin API.
- Increase the logging level to see what the underlying error message is.
------------------------------
Akshith Arremreddy
Original Message:
Sent: Wed October 30, 2024 02:18 PM
From: Darin Edmunds
Subject: Java 17 SSL clients connecting to Universal Messaging
Thank you @akshish Arremreddy for you comments.
This is a remote application and it throws a com.pcbsys.nirvana.... error when trying to establish a connection over SSL. Given we copy the nClient.jar and nJMS.jar from the UM server to the client for inclusion I am wondering if these files are java sensitive?
Kind regards
Darin Edmunds
------------------------------
Darin Edmunds
Original Message:
Sent: Wed October 30, 2024 02:04 PM
From: Akshith Arremreddy
Subject: Java 17 SSL clients connecting to Universal Messaging
Based on 10.15 UM documentation..."Universal Messaging enables both higher-release Java clients to connect to lower-release realm servers, and lower-release clients to connect to higher-release servers. The bi-directional client-server compatibility offers more flexible deployment strategies for both upgrades and daily operations, regardless of whether you are running higher-release clients, higher-release servers, or a mix. The functionality allows less release and upgrade planning between core components, resulting in faster deployments and less complexity in those deployments."
It seems even in older versions if you have below fix (based on the version you are on) it will support this feature. I am suspecting the error you are noticing is not related to Java compatibility but something else because it seems you would get an unsupported operation exception if this was a Compatibility issue. See bottom of the screenshot below.
Universal Messaging 10.3 Fix 26
Universal Messaging 10.5 Fix 12
Universal Messaging 10.7 Fix 4
------------------------------
Akshith Arremreddy
Original Message:
Sent: Tue October 29, 2024 08:00 AM
From: Darin Edmunds
Subject: Java 17 SSL clients connecting to Universal Messaging
What is the recommended approach to resolve "REALM Unreachable" which occurs when a messaging client is JAVA17 based using SSL and the UM is 10.7 which is JAVA8 based? Does the problem occur because the nJMS and nClient jar files are not compatible with the class structure in JAVA17, if so will the 10.15 nClient and nJMS jar files resolve the problem or is 10.15 also non JAVA17 compatible. How to make it compatible. Can UM11.1 nClient and nJMS jar files be used to connect to 10.15... Is there a way of making 10.15 compatible with JAVA17
------------------------------
Darin Edmunds
------------------------------