Unlocking your JMS
Twice in the past week I have come across a problem with starting an OC4J container within application server. In both cases the container started but JMS applications did not work. Lookups of Oracle JMS resources in JNDI would fail and a look at the OPMN log (in $ORACLE_HOME/opmn/logs/group_name~oc4j_instance~group_name~1.log) for the OC4J instance (or the command prompt for standalone OC4J instances) revealed that the Oracle JMS provider had failed to start due to an 'internal configuration error'.Turns out that instead of closing down cleanly the OC4J instance had been abnormally terminated during JMS operations and JMS lock files had been left around in the $ORACLE_HOME/j2ee/home/config/persistence/home_group_name_1 directory. Remove the .lock files, restart the instance and JMS once again is its cheery old self.
Note that one instance that this occurred on I was playing with JMS directly, in the other instance it was Oracle Identity Manager that was exercising JMS and hence stopped working when JMS failed to initialise.
Hopefully this will save somebody some time in diagnosing their non-working application.
Comments (1)
Hi Antony,
Thanks for sharing this information, I could create a working adaptor for BEA WLS JMS using this. However, I have a query. We need to define the Resource Provider in %ORACLE_HOME%/j2ee/home/config/application.xml.file. In case when my oc4j is coming up if the WLS server is down then it fails to get a connection and doesn't come up. Is there any way to prevent this? Something like loose coupling with the WLS JMS?
Thanks,
Amit
Posted by Amit | July 18, 2008 12:38 AM
Posted on July 18, 2008 00:38