2010-04-28 16 views
5

Ho un cluster WebLogic su cui ho distribuito numerosi argomenti e applicazioni che li utilizzano. Le mie applicazioni si mostrano uniformemente in uno stato di Avviso. Guardando monitoraggio sulla realizzazione, vedo l'applicazione MDB si connette al server # 1, ma sul server di # 2 si vede questo:Perché le mie distribuzioni di app MDB in cluster WebLogic sono in stato di avviso?

MDB application appName is NOT connected to messaging system. 

mio JMS Server è mirato ad un target migrabili, che a sua volta mirati a il server n. 1 e ha un cluster identificato. E i messaggi inviati a uno dei due server si spostano tutti come previsto. Semplicemente non so perché queste distribuzioni mostrano in stato di Avvertenza.

WebLogic 11g

+0

è il "appName" dimostrato che della vostra applicazione o di un interno BEA MDB? Va via dopo il riavvio del cluster? – JoseK

+0

Grazie per dare un'occhiata e chiedere. AppName è il nome della nostra applicazione. Il riavvio dei server nel cluster non ha avuto alcun effetto sull'errore. – codepoke

+0

Nessuna eccezione come "weblogic.rjvm.PeerGoneException" o una pila che mostra "weblogic.rjvm.RJVMImpl $ HeartbeatMonitorListenerDeliverer.execute"? E cosa succede se dovessi eseguire il test solo con il Server 2? – JoseK

risposta

3

questo può essere evitato utilizzando il parametro sotto

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

Nel weblogic-application.xml, Impostazione start-MDB-con-applicazione alle forze falsi MDB di rinviare a partire fino a dopo l'istanza del server apre la sua porta di ascolto, vicino alla fine del processo di avvio del server.

Se si desidera eseguire attività di avvio dopo che i servizi JMS e JDBC sono disponibili, ma prima che applicazioni e moduli siano stati attivati, è possibile selezionare l'opzione Esegui prima delle distribuzioni dell'applicazione nella console di amministrazione (o impostare l'attributo LoadBeforeAppActivation di StartupClassMBean su " vero").

Se si desidera eseguire le attività di avvio prima che i servizi JMS e JDBC siano disponibili, è possibile selezionare l'opzione Esegui prima delle attivazioni dell'applicazione nella console di amministrazione (oppure impostare l'attributo LoadBeforeAppDeployments di StartupClassMBean su "true").

consultare: http://docs.oracle.com/cd/E13222_01/wls/docs81/ejb/message_beans.html questo è applicabile per le versioni fino a 12c e successivamente

1

Non mi piacciono le domande senza risposta, così ho intenzione di rispondere a questa domanda.

Il problema è stato risolto, anche se non sono stato coinvolto nella sua risoluzione. Attualmente il problema esiste solo per il tempo necessario a inizializzare completamente il sottosistema JMS. Durante questo periodo (con molte code, può richiedere un po 'di tempo) il sistema JNDI genera errori e le app sono veramente in stato di avviso. Una volta che il JMS è completamente inizializzato, tutto diventa verde.

Credo che qualcuno abbia corretto qualcosa nella configurazione di JMS Server/Cluster. Non saprò mai cosa fosse.

Problemi correlati