2010-04-28 4 views
5

Ich habe einen WebLogic-Cluster, auf dem ich zahlreiche Themen und Anwendungen bereitgestellt habe, die sie verwenden. Meine Anwendungen zeigen sich einheitlich in einem Warnstatus. Mit Blick auf Überwachung über den Einsatz, sehe ich die MDB-Anwendung einer Verbindung zum Server # 1, aber auf dem Server # 2 es zeigt dies:Warum sind meine WebLogic-Cluster-MDB-App-Bereitstellungen im Warnstatus?

MDB application appName is NOT connected to messaging system. 

ist mein JMS Server auf ein migrationsfähigen Ziel abgezielt, die wiederum gezielt auf der # 1-Server und hat einen Cluster identifiziert. Und Nachrichten, die an einen der Server gesendet werden, fließen alle wie erwartet. Ich weiß nur nicht, warum diese Bereitstellungen in einem Warnzustand angezeigt werden.

WebLogic 11g

+0

die „appName“ Ist das Ihre Anwendung oder eine internen BEA MDB gezeigt? Geht es nach dem Neustart des Clusters weg? – JoseK

+0

Danke für einen Blick und Fragen. AppName ist der Name unserer Anwendung. Der Neustart der Server im Cluster hatte keine Auswirkungen auf den Fehler. – codepoke

+0

Keine Ausnahmen wie "weblogic.rjvm.PeerGoneException" oder ein Stack mit "weblogic.rjvm.RJVMImpl $ HeartbeatMonitorListenerDeliverer.execute"? Und was passiert, wenn Sie einen Test nur mit Server 2 ausführen? – JoseK

Antwort

3

Dies kann unter Verwendung des Parameters unter

<start-mdbs-with-application>false</start-mdbs-with-application> 

Im weblogic-application.xml, vermieden werden Einstellstarttaste-MEB-mit-Anwendung zu falschen Kräfte MEB bis nach der Server-Instanz zu verschieben beginnen öffnet seinen Listenport kurz vor dem Ende des Hochfahrens des Servers.

Wenn Sie Startaufgaben ausführen möchten, nachdem JMS- und JDBC-Dienste verfügbar sind, aber bevor Anwendungen und Module aktiviert wurden, können Sie in der Verwaltungskonsole die Option Ausführen vor Anwendungsbereitstellungen auswählen (oder das Attribut LoadBeforeAppActivation von StartupClassMBean auf " wahr").

Wenn Sie Startaufgaben ausführen möchten, bevor JMS- und JDBC-Dienste verfügbar sind, können Sie die Option Ausführen vor Anwendungsaktivierungen in der Verwaltungskonsole auswählen (oder das LoadBeforeAppDeployments-Attribut von StartupClassMBean auf "true" setzen).

Siehe: http://docs.oracle.com/cd/E13222_01/wls/docs81/ejb/message_beans.html dies für die Versionen bis 12c anwendbar ist und später

1

Ich mag keine Fragen offen, so werde ich diese beantworten.

Das Problem ist gelöst, obwohl ich nicht in seiner Auflösung beteiligt war. Gegenwärtig besteht das Problem nur für die Zeitdauer, die das JMS-Subsystem benötigt, um vollständig initialisiert zu werden. Während dieser Zeit (mit vielen Warteschlangen kann es eine Weile dauern) wirft das JNDI-System Fehler und die Apps befinden sich wirklich im Warnzustand. Sobald das JMS vollständig initialisiert ist, wird alles grün.

Ich glaube, dass jemand etwas in der JMS Server/Cluster-Konfiguration korrigiert hat. Ich werde nie wissen, was es war.