Sie können die MDB-Implementierungsattribute
für eine JCA-1.5-konforme (Java™
EE Connector Architecture) Unternehmensanwendung konfigurieren, um die in der Anwendungs-EAR-Datei
definierten Implementierungsattribute zu überschreiben.
Vorbereitende Schritte
In dieser Task wird davon ausgegangen, dass Sie eine EAR-Datei haben, die eine als Message-driven Bean entwickelte Unternehmensanwendung enthält, die in WebSphere Application Server implementiert werden kann.
Anmerkung: Sie können
weiterhin
MDBs für einen Listener-Port konfigurieren.
Sie können dies für die Kompatibilität mit vorhandenen MDB-Anwendungen tun. Listener-Ports
wurden jedoch stabilisiert und Sie sollten eine Migration aller Message-driven Beans planen, sodass Ressourcen verwendet werden, die mit Version 1.5 oder 1.6 kompatibel sind.
Informationen zu diesem Vorgang
Sie konfigurieren die Implementierungsattribute einer MDB-Anwendung über ein Assembliertool. Die in dieser Task beschriebenen ausführlichen Schritte beziehen sich auf Rational Application Developer, aber in anderen Tools müssen ähnliche Schritte ausgeführt werden.
Vorgehensweise
- Starten Sie Ihr Assembliertool.
- Editieren Sie die EAR-Datei der Anwendung. Verwenden Sie beispielsweise den Importassistenten von Rational Application Developer, um die EAR-Datei in ein Assembliertool zu importieren. Starten Sie den Importassistenten wie folgt:
- Klicken Sie auf .
- Klicken Sie auf Weiter. Wählen Sie dann die EAR-Datei aus.
- Klicken Sie auf Fertig stellen.
- Zeigen Sie die Implementierungsattribute an, um sie zu bearbeiten. Klicken Sie in der Ansicht der Java EE-Hierarchie mit der rechten Maustaste auf das EJB-Modul für die Message-driven Bean und klicken Sie anschließend auf . Im Teilfenster mit den Eigenschaften wird ein Notizbuch mit Eigenschaften für die MDBs angezeigt.
- Überprüfen und ändern Sie die Implementierungsattribute bei Bedarf.
- Wählen Sie im Eigenschaftsfenster das Register Bean aus.
- Überprüfen Sie die Attribute unter Aktivierungskonfiguration.
Anmerkung: Für Message-driven Beans
der EJB Version 3 können Sie stattdessen
eine Annotation der EJB Version 3 verwenden, um die Eigenschaften für die Aktivierungskonfiguration zu konfigurieren.
Verwenden Sie keine Annotation der EJB Version 3, um die Angaben im Implementierungsdeskriptor der Bean
zu ändern oder zu ersetzen. Wenn in beiden Fällen eine Aktivierungskonfigurationseigenschaft angegeben wurde,
wird der Wert verwendet, der im Implementierungsdeskriptor angegeben ist.
- acknowledgeMode
- Dieses Attribut bestimmt, wie die Sitzung empfangene Nachrichten bestätigt.
- Automatische Bestätigung
- Die Sitzung bestätigt automatisch die Zustellung jeder Nachricht.
- Zulässigkeit doppelter Nachrichten bestätigen
- Die Sitzung bestätigt die Zustellung von Nachrichten bei
Bedarf. Diese Einstellung führt wahrscheinlich zur doppelten Zustellung von Nachrichten, wenn
JMS ausfällt. Diese Einstellung sollte deshalb nur von Konsumentenanwendungen genutzt werden, die doppelte Nachrichten
tolerieren können.
- destinationType
- Dieses Attribut bestimmt, ob die Message-driven Bean ein Warteschlangen- oder Topicziel verwendet.
- Queue
- Die Message-driven Bean verwendet ein Warteschlangenziel.
- Topic
- Die Message-driven Bean verwendet ein Topicziel.
- subscriptionDurability
- Dieses Attribut bestimmt, ob eine JMS-Topicsubskription permanent ist.
- Permanent
- Ein Subskribent registriert eine permanente Subskription mit einer eindeutigen ID, die von JMS
gespeichert wird.
Nachfolgende Subskribentenobjekte mit derselben ID nehmen die Subskription in dem Status wieder auf, in dem es der vorherige Subskribent
verlassen hat. Falls es für eine permanente Subskription keinen aktiven Subskribenten gibt, bewahrt der JMS die Subskriptionsnachrichten
auf, bis sie vom Subskribenten empfangen wurden oder verfallen sind.
- Nicht permanent
- Nicht permanente Subskriptionen existieren über die gesamte Lebensdauer
der entsprechenden Subskribentenobjekte. Das bedeutet, ein Client sieht die zu einem Topic veröffentlichten Nachrichten nur, solange der
entsprechende Subskribent aktiv ist. Ist der Subskribent nicht aktiv, entgehen dem Client die zu diesem Topic veröffentlichten
Nachrichten.
Ein nicht permanenter Subskribent kann nur in dem
Transaktionskontext (z. B. einem globalen oder nicht angegebenen Transaktionskontext) angegeben werden, der
bei der Erstellung des Subskribenten vorhanden war.
- messageSelector
- Dieses Attribut bestimmt den JMS-Nachrichtenselektor, der verwendet wird, um die Nachrichten auszuwählen, die die Message-driven Bean empfängt. Beispiel:
JMSType='car' AND color='blue' AND weight>2500
Die Selektorzeichenfolge kann sich auf Felder im JMS-Nachrichtenkopf und Felder in den Nachrichteneigenschaften
beziehen. Nachrichtenselektoren können nicht auf Werte im Nachrichtenhauptteil verweisen.
- Geben Sie Implementierungsattribute für die Bindungen an.
Wählen Sie unter WebSphere-Bindungen die Option JCA-Adapter aus und geben Sie anschließend die Implementierungsattribute für die Bindung an.
- JNDI-Name der Aktivierungsspezifikation
- Dieses Attribut gibt den JNDI-Namen der Aktivierungsspezifikation an, die für die Implementierung der Message-driven Bean verwendet wird. Dieser Name muss mit dem Namen einer Aktivierungsspezifikation übereinstimmen, die Sie für WebSphere Application Server definieren.
- ActivationSpec Authorization Alias
- Dieses Attribut gibt den Namen eines Authentifizierungsalias an, der für die Authentifizierung von Verbindungen zum JCA-Ressourcenadapter verwendet wird.
Ein Authentifizierungsalias gibt die Kombination aus Benutzer-ID und Kennwort an, die für die
Authentifizierung einer neuen Verbindung mit dem JCA-Ressourcenadapter verwendet wird.
- JNDI-Name des Ziels
- Dieses Attribut gibt den JNDI-Namen an, den die MDB verwendet, um das JMS-Ziel im JNDI-Namespace zu suchen.
- Speichern Sie Ihre Änderungen im Implementierungsdeskriptor:
- Schließen Sie den Editor für Implementierungsdeskriptoren.
- Wenn Sie dazu aufgefordert werden, klicken Sie auf Yes, um anzugeben, dass
Sie die Änderungen am Implementierungsdeskriptor speichern möchten.
- Überprüfen Sie die Archivdateien.
- Klicken Sie im Popup-Menü des Projekts auf Deploy, um den EJB-Implementierungscode zu
generieren.
- Optional: Testen Sie das fertig gestellte Modul in einer Installation von WebSphere Application
Server.
Klicken Sie mit der rechten Maustaste auf ein Modul, klicken Sie auf Auf Server ausführen und folgen Sie den Anweisungen im daraufhin angezeigten Assistenten.
Einschränkung: Die Option Auf Server ausführen funktioniert nur auf den Betriebssystemen Windows, Linux/Intel und AIX. Eine ferne Implementierung in einer Installation von
WebSphere Application Server
unter einem UNIX-Betriebssystem wie Solaris ist nicht möglich.
Wichtig: Verwenden Sie die Option Run on Server nur für Einheitentests. Wenn eine Anwendung über Remotezugriff veröffentlicht wird, überschreibt das Assembliertool die Serverkonfigurationsdatei für diesen Server. Verwenden Sie dieses Verfahren nicht für Produktionsserver.
Nächste Schritte
Implementieren Sie nach dem Assemblieren Ihrer Anwendung die EAR-Datei mit den Systemverwaltungstools auf dem Anwendungsserver, auf dem die Anwendung ausgeführt werden soll. Diesen Schritt können Sie beispielsweise in der Administrationskonsole ausführen. Eine diesbezügliche Beschreibung finden Sie im Abschnitt Anwendungen implementieren und verwalten.