Ricerca…


Osservazioni

Prima chiariamo alcune terminologie:

  • La messaggistica in uscita è il punto in cui il messaggio inizia dal server (per essere più precisi è avviato dalla tua app che hai sul server, in questo caso WebSphere Liberty ) e termina presso l'EIS.
  • Inbound Messaging è dove il messaggio inizia da EIS e termina sul server.
  • Messaggio Endpoint in generale il luogo in cui il messaggio finisce seduto / viene ricevuto in una fase specifica del suo ciclo di vita.

inserisci la descrizione dell'immagine qui

Pertanto, con la connettività in uscita, ci riferiamo alla situazione in cui un'applicazione ottiene una connessione a un EIS esterno e legge o scrive dati su di esso. Con la connettività in entrata ci riferiamo alla situazione in cui l'Adattatore di risorse (RA) ascolta gli eventi dall'EIS esterno e le chiamate nell'applicazione quando si verifica un evento del genere.

Illustrazione di un RA in uscita

inserisci la descrizione dell'immagine qui

Illustrazione di un RA in arrivo

inserisci la descrizione dell'immagine qui

Che cosa significa MessageEndPoint in JCA?

Il server delle applicazioni (ex: WebSphere Liberty ) fornisce gli endpoint MBeans ai messaggi per assistere nella gestione del recapito di un messaggio ai bean basati sui messaggi che agiscono come ascoltatori su endpoint specifici, che sono destinazioni e nella gestione delle risorse EIS che sono utilizzato da questi bean message-driven. I bean basati sui messaggi che vengono distribuiti come endpoint dei messaggi non sono gli stessi dei bean basati sui messaggi che sono configurati rispetto a una porta listener. I bean basati sui messaggi utilizzati come endpoint dei messaggi devono essere distribuiti utilizzando una ActivationSpecification definita all'interno di una configurazione RA per JCA (presente nel file ra.xml ).

Cosa significa attivare un MessageEndPoint?

Con gli endpoint di messaggi MBeans, è possibile attivare e disattivare endpoint specifici all'interno delle applicazioni per garantire che i messaggi vengano recapitati solo ai bean di messaggi in ascolto che interagiscono con risorse EIS in buona salute. Questa funzionalità consente di ottimizzare le prestazioni delle applicazioni JMS in situazioni in cui una risorsa EIS non si comporta come previsto. Generalmente, il recapito di un messaggio a un endpoint non riesce quando il bean a messaggi in ascolto in ascolto richiama un'operazione su una risorsa non integra. Ad esempio, un provider di messaggistica, che è un adattatore di risorse in entrata conforme a JCA, potrebbe non riuscire a recapitare i messaggi a un endpoint quando il relativo bean basato sui messaggi tenta di eseguire il commit di transazioni su un server di database che non risponde.

MessageEndPoint deve essere un bean?

Dovrebbe. Altrimenti finirai in un grande casino creando il tuo modo non convenzionale di fare cose che hanno lo scopo di seguire le specifiche Java EE in primo luogo. Progetta i tuoi bean message-driven per delegare l'elaborazione aziendale ad altri bean enterprise. Non accedere alle risorse EIS direttamente nel bean basato sui messaggi, ma farlo indirettamente attraverso un bean delegato.

Puoi mostrare qualche semplice esempio su come lavorare / distribuire un MessageEndPoint?

Controlla la seconda risorsa che sto menzionando sotto per un esempio utile.

Risorse di apprendimento utili:

Esempio di adattatore di risorse

class MyResourceAdapter 
   implements javax.resource.spi.ResourceAdapter {
  
   public void start(BootstrapContext ctx){..}
   public void stop(){..}

   public void endpointActivation (MessageEndpoingFactory mf, ActivationSpec a){..}
   public void endpointDeactivation (MessageEndpoingFactory mf, ActivationSpec a){..}
   public void getXAResources(ActivationSpec[] activationSpecs){..}
}


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow