Suche…


Bemerkungen

Lassen Sie uns zunächst einige Terminologien klären:

  • Outbound Messaging ist der Ort, an dem die Nachricht vom Server ausgeht (um genauer zu sein, sie wird von Ihrer App, die Sie auf dem Server haben, in diesem Fall WebSphere Liberty ) initiiert und endet beim EIS.
  • Inbound Messaging ist der Ort, an dem die Nachricht vom EIS aus beginnt und auf dem Server endet.
  • Nachrichtenendpunkt im Allgemeinen der Ort, an dem die Nachricht in einer bestimmten Phase ihres Lebenszyklus sitzt / empfangen wird.

Geben Sie hier die Bildbeschreibung ein

Bei einer ausgehenden Konnektivität beziehen wir uns also auf die Situation, in der eine Anwendung eine Verbindung zu einem externen EIS herstellt und Daten darauf liest oder schreibt. Mit der Inbound-Konnektivität beziehen wir uns auf die Situation, in der der Ressourcenadapter (RA) auf Ereignisse aus dem externen EIS wartet und Ihre Anwendung aufruft, wenn ein solches Ereignis auftritt.

Abbildung einer ausgehenden RA

Geben Sie hier die Bildbeschreibung ein

Abbildung einer eingehenden RA

Geben Sie hier die Bildbeschreibung ein

Was ist ein MessageEndPoint-Wert in JCA?

Der Anwendungsserver (z. B. WebSphere Liberty ) stellt MBeans für Nachrichtenendpunkte bereit, die Sie bei der Verwaltung der Zustellung einer Nachricht an Ihre nachrichtengesteuerten Beans unterstützen, die als Listener für bestimmte Endpunkte dienen, bei denen es sich um Ziele handelt, und um die EIS-Ressourcen zu verwalten von diesen Message-Driven Beans verwendet. Message-Driven-Beans, die als Message-Endpunkte bereitgestellt werden, sind nicht mit Message-Driven-Beans identisch, die für einen Listener-Port konfiguriert sind. Message-Driven Beans, die als Message Endpoints verwendet werden, müssen mithilfe einer ActivationSpecification implementiert werden, die in einer RA-Konfiguration für JCA (in der Datei ra.xml ) definiert ist.

Was bedeutet das Aktivieren eines MessageEndPoint?

Mit Message-Endpunkt-MBeans können Sie bestimmte Endpunkte in Ihren Anwendungen aktivieren und deaktivieren, um sicherzustellen, dass Nachrichten nur an empfangene Message-Driven-Beans übermittelt werden, die mit fehlerfreien EIS-Ressourcen interagieren. Mit dieser Funktion können Sie die Leistung Ihrer JMS-Anwendungen in Situationen optimieren, in denen sich eine EIS-Ressource nicht wie erwartet verhält. Die Nachrichtenübermittlung an einen Endpunkt schlägt normalerweise fehl, wenn die zu überwachende Message-Bean einen Vorgang für eine nicht funktionsfähige Ressource aufruft. Beispielsweise kann ein Messaging-Provider, bei dem es sich um einen eingehenden Ressourcenadapter handelt, der JCA-kompatibel ist, möglicherweise keine Nachrichten an einen Endpunkt liefern, wenn das zugrunde liegende Message-Driven-Bean versucht, Transaktionen für einen Datenbankserver festzuschreiben, der nicht antwortet.

Muss MessageEndPoint eine Bean sein?

Es sollte. Andernfalls werden Sie in eine große Verwirrung geraten, indem Sie Ihre eigene unkonventionelle Vorgehensweise entwickeln, um den Zweck der Java EE-Spezifikation zu übertreffen. Entwerfen Sie Ihre nachrichtengesteuerten Beans, um die Geschäftsverarbeitung an andere Enterprise-Beans zu delegieren. Greifen Sie nicht direkt in der nachrichtengesteuerten Bean auf die EIS-Ressourcen zu, sondern tun Sie dies indirekt über eine Delegaten-Bean.

Können Sie ein einfaches Beispiel für das Arbeiten / Bereitstellen eines MessageEndPoint zeigen?

Schauen Sie sich die zweite Ressource an, die ich unten erwähne, um ein hilfreiches Beispiel zu erhalten.

Nützliche Lernressourcen:

Beispiel Ressourcenadapter

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
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow