More information about this error can be found in the logging of the OC4J container in which the esb-dt application is deployed (default: $ORACLE_HOME/opmn/logs/default_group~oc4j_soa~default_group~1.log) or in the log.xml of the application esb-dt (default: $ORACLE_HOME/j2ee/oc4j_soa/log/oc4j_soa_default_group_1/oc4j/log.xml).
Reason 1:
The connection to the database can not be made:
Warning: Unable to set up connection factory for a resource adapter in esb-rt: Error creating a ResourceAdapter implementation class. Error creating a JavaBean of class 'oracle.tip.esb.server.bootstrap.RuntimeResourceAdapter: javax.resource.spi.ResourceAdapterInternalException: java.lang.RuntimeException: failed to get ESB_HOME: java.lang.NullPointerException
Check your datasources in the Application Server Control
Reason 2:
The dehydration store tables are not filled with the correct data. If an virtual hostname is used check if the hostname is accessible on the correct port number.
There are several checks which can be executed:
ping hostname
telnet hostname port
nslookup ip address
There are two tables which must be checked: ORAESB.ESB_PARAMETERS and ORAESB.WF_AGENTS. I created an sql query that can be used:
set feedback off;
set heading off;
set pages 0;
set linesize 500;
select 'param_name: '||param_name, 'param_value: '||param_value from esb_parameter;
select 'queue_name: '||queue_name, 'name: '||name, 'tcf_jndi: '||tcf_jndi from wf_agents;
exit;
This should be the output:param_name: PROP_NAME_MONITOR_TOPIC_JNDI
param_value: ESBTopics/Topics/ESB_MONITOR
param_name: PROP_NAME_ERROR_XATCF_JNDI
param_value: OracleOJMS/XATCF
param_name: PROP_NAME_ERROR_RETRY_JNDI
param_value: ESBTopics/Topics/ESB_ERROR_RETRY
param_name: DT_OC4J_HTTP_PORT
param_value: VIRTUAL PORT NUMBER
param_name: PROP_NAME_CONTROL_TCF_JNDI
param_value: OracleOJMS/XATCF
param_name: PROP_NAME_DEFERRED_TOPIC_JNDI
param_value: ESBTopics/Topics/ESB_JAVA_DEFERRED
param_name: PROP_NAME_MONITOR_TCF_JNDI
param_value: OracleOJMS/TCF
param_name: PROP_NAME_ERROR_TOPIC_JNDI
param_value: ESBTopics/Topics/ESB_ERROR
param_name: PROP_NAME_INITIAL_CONTEXT_FACTORY
param_value: com.evermind.server.rmi.RMIInitialContextFactory
param_name: PROP_NAME_ERROR_TCF_JNDI
param_value: OracleOJMS/TCF
param_name: ACT_ID_RANGE
param_value: 400
param_name: PROP_NAME_CONTROL_TOPIC_JNDI
param_value: ESBTopics/Topics/ESB_CONTROL
param_name: PROP_NAME_DEFERRED_TCF_JNDI
param_value: OracleOJMS/TCF
param_name: DT_OC4J_HOST
param_value: VIRTUAL HOSTNAME
param_name: PROP_NAME_DEFERRED_XATCF_JNDI
param_value: OracleOJMS/XATCF
param_name: PROP_NAME_ERROR_RETRY_TCF_JNDI
param_value: OracleOJMS/XATCF
SQL> queue_name: ESBTopics/Topics/ESB_JAVA_DEFERRED
name: ESBTopics/Topics/ESB_JAVA_DEFERRED
tcf_jndi: OracleOJMS/XATCF
queue_name: ESBTopics/Topics/ESB_JAVA_DEFERRED
name: ESBTopics/Topics/ESB_JAVA_DEFERRED
tcf_jndi: OracleOJMS/XATCF
Reason 3:
Apache.commons.logging must be removed from the orion-application.xml
In the file: $ORACLE_HOME/j2ee/oc4j_soa/application-deployments/esb-dt/orion-application.xml and in the file $ORACLE_HOME/j2ee/oc4j_soa/applications/esb-dt/META-INF/orion-application.xml a line must be added:
<remove-inherited name="apache.commons.logging"/>
After this change the container must be restarted. opmnctl restartproc process-type=oc4j_soa
This blog gives very important info ,
ReplyDeleteOracle SOA Online Training