Overview
After creating JMS transports using the TIBCO EMS, the status shows an error: JMS Error: Cannot instantiate
class: com.tibco.tibjms.naming.TibjmsInitialContextFactory
and JMS Transport fails to connect to the connection factory and destination.
Solution
For 10.x: The cause for this for the 10.x version is that the TIBCO JARs are not added to the Intermediary classpath. Follow the steps below depending on the OS:
- For Windows:
- Create a post-custom.conf file under ACTIONAL_HOME\common\scripts
- Add the installation location and jars as mentioned below:
set.TIBCO_LIB_DIR=<INSERT TIBCO LIB DIRECORY> append.java.classpath=%TIBCO_LIB_DIR%\tibjms.jar append.java.classpath=%TIBCO_LIB_DIR%\tibcrypt.jar
- For Linux:
- Add the installation location and JARs in env.sh located under ACTIONAL_HOME\common\scripts:
TIBCO_LIB_DIR=<INSERT TIBCO LIB DIRECORY> actional_append_cp "$TIBCO_LIB_DIR\tibjms.jar" actional_append_cp "$TIBCO_LIB_DIR\tibcrypt.jar"
- Add the installation location and JARs in env.sh located under ACTIONAL_HOME\common\scripts:
For 12.x: In 12.x, you need to set the classpath of launcher profile used for Intermediary. Unlike in 10.x, you can do this from within the application by following the below steps:
- Login to the Aurea Management Console.
- Go to Configure View > Network > Profiles > "Select the Intermediary Profile" > Edit and add the classpath for the launcher profile being used.
Testing
The error should go away and JMS Transport will connect successfully once the classpaths are set.