NameNotFoundException when Oracle Service Bus performs a JNDI lookup (with MRG-M as JMS provider)

Solution Verified - Updated -

Environment

Red Hat Enterprise MRG Messaging (MRG-M)

Issue

  • We are attempting to integrate Red Hat MRG-M and Oracle Service Bus (OSB) without success.
  • Our intention is to have the OSB route HTTP requests to JMS endpoints.
  • MRG-M is the jms provider.
  • To do this we have created a foreign JMS module pointing to a file based JNDI which contains MRG-M properties i.e. connection factories and destinations.
  • When the container is started the foreign jms module is started correctly and the local jndi names are bound to the jndi tree and point to the remote MRG-M artefacts. Connections are opened to the MRG-M broker and the destinations seem to be initialised correctly.
  • However when the OSB process performs a JNDI lookup of the JNDI based artefacts it throws a name not found exception as it can't seem to find either the local connection factory nor the local jms destination.

Resolution

Add a JNDI provider resource to the Oracle Service Bus (OSB) service to point to the local Web Logic Server (WLS) JNDI tree.

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.