WebLogic Server - "javax.naming.NameNotFoundException" Occurs on JMS Queue in Cluster When One of the Managed Servers is Down
(Doc ID 1283599.1)
Last updated on AUGUST 17, 2023
Applies to:Oracle WebLogic Server - Version 10.3 and later
Information in this document applies to any platform.
When more than one JMS Queue with the same JNDI name is created and deployed on individual managed servers which are part of a WebLogic Server cluster, the following exceptions are observed when one of the cluster members is down:
For example, consider this domain configuration:
- Admin Server and cluster with two managed servers
- Two JMS servers targeted to the two managed servers
- One JMS module targeted to the cluster
- Two JMS subdeployments inside the JMS Module targeted to the two JMS servers, targeted to different managed servers.
- Two JMS queues inside (with the same JNDI name) targeted to 2 different JMS subdeployments
The JNDI name is same for both JMS queues which are created inside each JMS module targeted to the managed servers. When both the managed servers in the cluster are up and running, there will be no issues. The JNDI look up to the JMS queue works fine and the JMS queue JNDI name is present in JNDI tree of both the managed servers.
But when one of the managed servers in cluster is brought down, and when you access the JNDI tree of other managed server which is up and running, you observe that the JMS Queue JNDI name is missing in the running managed server JNDI tree.
Also, at this point when you try to do a JNDI lookup of the JMS Queue from a standalone client or some application on the running managed server in cluster, you observe the "javax.naming.NameNotFoundException."
This is because the JMS Queue JNDI object is missing in the JNDI tree of the running managed server in the cluster.
To view full details, sign in with your My Oracle Support account.
Don't have a My Oracle Support account? Click to get started!
In this Document