lundi 30 mars 2009

Oracle Application server 10g n’aime pas les coupures d’électricité

Suite à une coupure d'électricité, le serveur n'arrive plus à démarrer les instances de OC4J.

L'administrateur du système (chez un client) m'appelle : « OAS ne marche plus et réclame une file d'attente JMS, le problème c'est qu'il n'y a jamais eu besoin de cette file d'attente ? »

En effet, le lancement du serveur ne s'effectue plus et le message d'erreur (dans le fichier log) est bizarre :

09/03/30 15:47:10 *** (SEVERE) Failed to set the internal configuration of the OC4J JMS Server with: XMLJMSServerConfig[file:/F:/product/10.1.3/OracleAS_1/j2ee/APP_FRONT/config/jms.xml]

09/03/30 15:47:15 ATTENTION: Application.setConfig Application: default is in failed state as initialization failedjava.lang.InstantiationException: Error initializing ejb-modules: Resource exception(OracleASjms) for MessageDrivenBean event during endpoint activation: failure looking up ConnectionFactoryJndiName:jms/XAQueueConnectionFactory: javax.resource.spi.ResourceAdapterInternalException: Looking up jms/XAQueueConnectionFactory: javax.naming.NameNotFoundException: jms/XAQueueConnectionFactory not found

30 mars 2009 15:47:15 com.evermind.server.Application setConfig

ATTENTION: Application: default is in failed state as initialization failedjava.lang.InstantiationException: Error initializing ejb-modules: Resource exception(OracleASjms) for MessageDrivenBean event during endpoint activation: failure looking up ConnectionFactoryJndiName:jms/XAQueueConnectionFactory: javax.resource.spi.ResourceAdapterInternalException: Looking up jms/XAQueueConnectionFactory: javax.naming.NameNotFoundException: jms/XAQueueConnectionFactory not found

09/03/30 15:47:15 Error initializing server: Error initializing ejb-modules: Resource exception(OracleASjms) for MessageDrivenBean event during endpoint activation: failure looking up ConnectionFactoryJndiName:jms/XAQueueConnectionFactory: javax.resource.spi.ResourceAdapterInternalException: Looking up jms/XAQueueConnectionFactory: javax.naming.NameNotFoundException: jms/XAQueueConnectionFactory not found

09/03/30 15:47:17 Fatal error: server exiting


Heureusement, c'est bénin (pour ne pas dire banal):

Il suffit de se rappeler qu'OAS gère un système de fichiers LOCK dans le répertoire

%OAS10g_HOME%\oc4j\j2ee\home\persistence

Le nettoyage n'ayant pas été fait, lors de la coupure d'électricité, les fichiers de gestion de LOCK sont restés. Cela empêche OC4J de démarrer.

Malheureusement, il n'est pas programmé pour détecter ce type de situation.

La solution :

Il suffit (pour toutes les instances de OC4J)

  1. de supprimer les fichiers LOCk (*.lock)
  2. redémarrer le serveur (OC4J)

il faut avouer, ce n'est pas aussi simple qu'avec du Tomcat.



0 commentaires :

Enregistrer un commentaire

Architecte SOA & Professionnel Open Source Headline Animator

 
Khaled BEN DRISS
Cloud Computing, SOA et Web 2.0 : Des sujets techniques sur SOA et l'Open Source : de Java & .Net, PHP5, Symfony, à SaaS / PaaS en passant par Azure, google appengine, le BPM, la Modélisation et d'autres sujets du coté du serveur et cloud computing.