Thursday 11 November 2010

"OracleASjms/ESBMonitorTopic not found"

You might find 'OracleASjms/ESBMonitorTopic not found Make sure the topic is mapped to a jndi tree' error in oc4j container log file, after you set-up a ESB cluster. I face the same issue after I install ESB-RT and ESB-DT in two different oc4j containers. My objective was to exlopre Oracle ESB clustering options. I was trying to install Oracle BPEL and Oracle ESB-RT in one oc4j_soa container and ESB-DT in another oc4j_esbdt container, but using the same ORACLE_HOME. Starting from SOA 10.1.3.3 ESB-DT can be installed into same ORACLE_HOME as ESB-RT. However ESB-DT should be in different oc4j container

The installation went successful and no errors reported during installation and on log file. However when starting oc4j_soa container where ESB-RT installed, the following error thrown in opmn log file.

11/11 12:10:31 oracle.tip.esb.server.dispatch.QueueHandlerException: Context lookup failed "OracleASjms/ESBMonitorTopic not found" Make sure the topic is mapped to a jndi tree
10/11/11 12:10:31  at oracle.tip.esb.server.dispatch.JMSEnqueuer.createConnection(JMSEnqueuer.java:203)
......
11/11 12:10:31 Caused by: javax.naming.NameNotFoundException: OracleASjms/ESBMonitorTopic not found

This is because default default JNDI tree entries in OracleASjms adapter created by ESB install are missing in $ORACLE_HOME/j2ee/oc4j_soa/config/oc4j-connectors.xml file. Add following after taking a backup of oc4j-connectors.xml file and restart the container.

<adminobject-config location="OracleASjms/ESBDeferredTopic">
    <adminobject-class>oracle.j2ee.ra.jms.generic.AdminObjectTopicImpl</adminobject-class>
    <config-property name="jndiName" value="jms/topic/WF_JAVA_DEFERRED"/>
    <config-property name="resourceProviderName" value="oc4jjms"/>

</adminobject-config>
<adminobject-config location="OracleASjms/ESBControlTopic">
    <adminobject-class>oracle.j2ee.ra.jms.generic.AdminObjectTopicImpl</adminobject-class>
    <config-property name="jndiName" value="jms/topic/WF_CONTROL"/>
    <config-property name="resourceProviderName" value="oc4jjms"/>

</adminobject-config>
<adminobject-config location="OracleASjms/ESBMonitorTopic">
    <adminobject-class>oracle.j2ee.ra.jms.generic.AdminObjectTopicImpl</adminobject-class>
    <config-property name="jndiName" value="jms/topic/ESB_MONITOR"/>
    <config-property name="resourceProviderName" value="oc4jjms"/>

</adminobject-config>
<adminobject-config location="OracleASjms/ESBErrorRetryTopic">
     <adminobject-class>oracle.j2ee.ra.jms.generic.AdminObjectTopicImpl</adminobject-class>
     <config-property name="jndiName" value="jms/topic/ESB_ERROR_RETRY"/>
     <config-property name="resourceProviderName" value="oc4jjms"/>

</adminobject-config>
<adminobject-config location="OracleASjms/ESBErrorTopic">
     <adminobject-class>oracle.j2ee.ra.jms.generic.AdminObjectTopicImpl</adminobject-class>
     <config-property name="jndiName" value="jms/topic/ESB_ERROR"/>
     <config-property name="resourceProviderName" value="oc4jjms"/>

</adminobject-config>


Oops. After restarting the container, another error in opmn log file.


11/11 13:23:22 oracle.tip.esb.server.dispatch.QueueHandlerException: Publisher not exist for system "{0}"
10/11/11 13:23:22  at oracle.tip.esb.server.dispatch.JMSEnqueuer.createConnection(JMSEnqueuer.java:200)
.......
11/11 13:23:22 Caused by: javax.jms.InvalidDestinationException: Looking up java:comp/resource/oc4jjms/jms/topic/ESB_MONITOR: javax.naming.NameNotFoundException: No resource named 'oc4jjms/jms/topic/ESB_MONITOR'found
10/11/11 13:23:22  at oracle.j2ee.ra.jms.generic.AdminObjectImpl.getAdminObject(AdminObjectImpl.java:339)


To resolve this issue, add the following in $ORACLE_HOME/j2ee/oc4j_soa/config/jms.xml file.

<topic name="ESB Monitoring Topic" location="jms/topic/ESB_MONITOR"></topic>
<topic name="ESB Control Topic" location="jms/topic/WF_CONTROL"></topic>
<topic name="ESB Deferred Topic" location="jms/topic/WF_JAVA_DEFERRED"></topic>
<topic name="ESB Error Resubmission Topic" location="jms/topic/ESB_ERROR_RETRY"></topic>


**********************************************************************************************************************************************

No comments:

Post a Comment