Monday, November 17, 2008

Designtime cache has not been initialized

This is a generic error in the ESB Control GUI.

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

1 comment:

comment