2010-03-17 15 views
1

Nous avons un serveur weblogic10.0 instance qui a un cluster avec un managed server. Chaque lundi à 5h du matin (ou quelques secondes après), il s'éteint tout seul. Les journaux ne montrent pas d'erreur, sauf le message suivant:Serveur Weblogic 10.0 - Serveur géré en cours de fermeture

JVM called WLS shutdown hook. The server will force shutdown now. 

machine virtuelle Java a une option -Xnohup et en utilisant JRockit. Il n'y a pas de travail cron sur le serveur. Je ne suis pas sûr de savoir comment déboguer celui-ci. Le serveur Admin continue de fonctionner sans problème et je suis capable de redémarrer le serveur géré sans problème. Toute aide est grandement appréciée.

Mise à jour:
J'ai essayé d'utiliser -Djrockit.waitonerror, mais JVM ne suspend pas. Je vois aussi le message "panique" suivant dans le journal juste avant ou quelques minutes avant. CharScanner; panic: ClassNotFoundException: org.antlr.stringtemplate.language.ChunkToken. On dirait que cela pendant une sorte de lancer des diagnostics:

<Diagnostics> <BEA-320140> <Scheduling data retirement tasks as per configuration.>

Merci.

+0

Le diagnostic BEA-320140 est classé comme INFO par BEA. Est-ce que cela n'apparaît que lundi 5 heures avant la fermeture - ou apparaît-il régulièrement? – JoseK

+0

2) Une source du message "panic:" semble être une version conflictuelle de antlr.jar qui aurait dû être corrigée dans WL 10 Voir http://osdir.com/ml/java.drools.user/2006-12 /msg00107.html 3) Par hasard un cron ou au travail sur un autre serveur appelant dans celui-ci? – JoseK

+0

@josek - A découvert qu'il y a un planificateur de quartz en cours d'exécution qui appelle dans StringTemplate. Apparemment, il semble être lié à antlr.jar/stringtemplate.jar – Eqbal

Répondre

2

Conflit avec la version antlr de weblogic et celle utilisée dans l'application déployée (war). Inclus que la guerre dans un fichier oreille et mettre un weblogic-application.xml fichier META-INF avec les éléments suivants:

<weblogic-application xmlns="http://www.bea.com/ns/weblogic/90" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">  
<prefer-application-packages> 
    <package-name>antlr.*</package-name> 
</prefer-application-packages> 

2

Étant donné que vous utilisez l'option -Xnohup, il est très probable que la machine virtuelle Java ne reçoive pas de signal de système d'exploitation. Cependant, quelque chose déclenche l'arrêt (et le fait que cela se produise à intervalles très réguliers suggère un processus automatisé).

Essayez d'appliquer la deuxième suggestion de cette blog post (je pense que cela vient du soutien effectivement):

Si le problème persiste encore même après avoir essayé l'option ci-dessus peut alors vous s'il vous plaît appliquer la suivant JAVA_OPTION:

  • Selon la version JVM, il peut être possible d'obtenir une décharge de fil avant que le processus sort

    • HotSpot prend en charge l'option de ligne de commande -XX:+ShowMessageBoxOnError

    • L'option JRockit correspondante est -Djrockit.waitonerror

    • Alors que la machine virtuelle Java tombe en panne, il peut demander à l'utilisateur: « Voulez-vous déboguer le problème?"

    • se met en pause la machine virtuelle Java, créant ainsi une opportunité de générer une décharge de fil (une trace de la pile de chaque thread dans la machine virtuelle Java), attacher un débogueur, ou effectuer une autre activité débogage .

Pour générer une décharge de fil, je pense que vous devrez supprimer l'option -Xnohup (cela ne devrait pas être un problème car il ne permet pas). Cela aiderait vraiment l'analyse.

Également ouvrir un cas, le support pourrait avoir plus d'entrée sur ce (vous n'êtes pas le seul face à ce problème, voir les discussions ci-dessous).


Juste au cas où, un coup d'oeil à WebLogic Server shutting down Automatically (tout processus de surveillance OOMKiller fonctionnement?) Et JVM called WLS shutdown hook. The server will force shutdown now.

+0

J'ai essayé d'utiliser '-Djrockit.waitonerror', mais la JVM ne s'arrête pas. Je vois aussi le message "panique" suivant dans le journal juste avant ou quelques minutes avant. 'CharScanner; panique: ClassNotFoundException: org.antlr.stringtemplate.language.ChunkToken' On dirait que cela pendant une sorte de lancer des diagnostics: '' – Eqbal

+0

@Eqbal Pourquoi ne pas vous mettre ceci dans votre question? Cela peut aider. –

+0

Merci, je viens de mettre à jour la question. – Eqbal