JMS Transport Problems

The following error messages are written to the <server>\instances\<instance name>\runtime directory\NNSYMessageLog.nml file.

Attempting to start the runtime instance results in an error

Multiple errors can be produced. Locate the applicable error message below and perform the recommended resolution.

 

 

Error Message

TRANSPORT_CREATE_FAILED_MSG

Resolution

 

Verify that the JMS server is up and running.

  • To verify that the application server the JMS OT driver is configured to connect to is running, consult the documentation for the specific application server.

  • Use psput to verify that the session and transport are set up correctly.

Verify that the spelling and paths are correct in the JMS Session entries.

 

 

Error Message

TRANSPORT_CREATE_FAILED_MSG  and javax.naming.NoInitialContextException: Cannot instantiate class: com.Sybase.jms.InitialContextFactory

Resolution

Re-enter the path of the JMS server client.jar.

In Endpoint Manager, edit the session endpoint connection and verify that the pat and file names are correct for the server client jar in the Class Path property.

 

 

Error Message

TRANSPORT_CREATE_FAILED_MSG  and java.lang.NoClassDefFoundError: javax/jms/Destination

Resolution

Re-enter the path of the JMS server j2ee.jar.

In Endpoint Manager, edit the session endpoint connection and verify that the path and file names are correct for the server client jar in the Class Path property.

 

 

Error Message

TRANSPORT_CREATE_FAILED_MSG  and javax.naming.NamingException: JMS administered object ‘xxx’ not found

Resolution

The queue connection factory named ‘xxx’ does not exist.  Re-enter the value for the Queue Connection Factory using the appropriate name.

In Endpoint Manager, edit the session endpoint connection and verify that the Connection Factory property is set correctly for the application server being used.

 

 

Error Message

TRANSPORT_CREATE_FAILED_MSG  and JMS_SES_CONNECTION_FACTORY configuration property is missing from the jms session configuration

Resolution

Re-enter the value for the QueueConnectionFactory.

In Endpoint Manager, edit the session endpoint connection and verify that the Connection Factory property is set correctly for the messaging system being used.

 

 

Error Message

TRANSPORT_CREATE_FAILED_MSG  and javax.namingException: JMS administered object ‘xxxx’ does not exist

Resolution

The queue named ‘xxxx’ does not exist. Re-enter the name of this queue to one that exists or create a new queue with this name.

In Endpoint Manager, edit the transport endpoint connection and verify that the transport name property is set correctly for the messaging system being used.

 

 

Error Message

TRANSPORT_CREATE_FAILED_MSG and javax.naming.NamingException: org.omg.CORBA.NO_PERMISSION

Resolution

Re-enter a valid user ID and password.

In Endpoint Manager, edit the session endpoint connection and verify the user name and password properties for the messaging system that are being used.

 

 

Error Message

FindClass(com/Sybase/otjms/JMSSession): LoadClass: java.lang.ClassNotFoundException:  com/Sybase/otjms/JMSSession

Lookup of class com.sybase.otjms.JMSSession failed. Cause could be invalid CLASSPATH and/or missing JAR.

Resolution

Re-enter the path to the dvjms40jni.jar.

In Endpoint Manager, edit the session endpoint connection and verify that the path and file names are correct for the dvjms40jni.jar in the class Path property. This file is located in the server install bin directory. Verify that the appropriate separator for the platform is used between path segments--Unix uses a colon separator (:), whereas Windows uses a semi-colon separator (;).

If you are using a package designed in a previous version, verify that the jar files used by any jms sessions use the correct version. For version 4.0.3, the jar was named dvjms40jni.jar; for version 4.3, the jar is named dvjms41jni.jar.

 

 

Error Message

Javax.naming.NamingException: org.omg.CORBA.COMM_FAILURE

Resolution

The URL for the JMS server is either misspelled or empty. Re-enter the value for the JMS Server URL.

In Endpoint Manager, edit the session endpoint connection and verify that the server URL property is correct for the application server.

 

 

The engine stops processing messages off the JMS queue

 

 

Error Message

The log does not have any error messages

 

Resolution

 

This happens with JMS queues on Jaguar using an ASE database. The source of the problem is that the transaction file is filed.

When creating a database for JMS queues make sure that Truncate log on check point is selected. This option is located at SybaseCentral; right-click on the database being used for the queues, select Properties, and go to the Options tab.

 

 

Error Message

The engine received an abort request.  Shutting down immediately. (This error would be located in the procsvr.log)

Resolution

The instance has run out of memory for the process and is rolling back the last transaction. It can take up to 30 minutes for the instance to have enough memory before it is able to roll back the transaction and shutdown.

 

 

The instance is able to connect to “password” protected JMS queues without a password

 

 

Problem

The log does not have any error messages

Resolution

 

Many application servers that control JMS queues leave the queues open so they can be accessed by any application even though a password is required to start the server. To fix this, the server administrator needs to set passwords for each queue to prevent access by unauthorized applications.  The user ID and password must be entered in the Session portion of the Messaging service before the instance can access these queues.

 

 

Cannot connect to Sun’s J2EE Reference Implementation

 

 

Problem

TRANSPORT_CREATE_FAILED_MSG and java.lang.NullPointerException

Resolution

 

Set the environment value for the JVM_STARTUP_OPTS variable to  -Djava.class.path=<classpath for the client.jar, j2ee.jar and dvjms41jni.jar>. Use forward slashes (/) in the path