Unterstützung für JMS 2.0-Features in WebSphere Application Server Version 9.0
In JMS 2.0 wurden viele neue Funktionen eingeführt, die die Benutzerfreundlichkeit steigern, die Einfachheit erhöhen und die asynchrone Unterstützung von JMS-Anwendungen erweitern. JMS 2.0 ist Teil der Java EE 7-Plattform und kann in Java EE-Webanwendungen oder -EJB-Anwendungen (mit der J2SE-Umgebung) verwendet werden.
Im Folgenden sind einige der nennenswerten Erweiterungen von JMS 2.0 aufgeführt:
- Simplified API
- APIs in JMS 2.0 wurden vereinfacht und können jetzt leichter verwendet werden als in JMS 1.0. Vorhandene JMS 1.1-APIs werden jetzt als klassische APIs bezeichnet. In Simplified API wurden drei neue Schnittstellen (JMSContext-, JMSProducer- und JMSConsumer-Objekte) eingeführt. Weitere Informationen finden Sie in der Dokumentation zur JMS 2.0-Spezifikation.
- Unterstützung für Autocloseable
- In JMS 2.0 wurden die Schnittstellen "Connection", "Session", "MessageProducer", "MessageConsumer" und "QueueBrowser" so geändert, dass die Schnittstelle java.lang.Autocloseable erweitert wird. Anwendungen können diese Objekte mit einer Java SE 7-Anweisung "try-with-resources" erstellen, mit der die Anwendungen close() nicht mehr explizit aufrufen müssen, wenn die Objekte nicht mehr erforderlich sind. Weitere Informationen finden Sie in der Dokumentation zur JMS 2.0-Spezifikation.
- Context Dependency Injection (JMSContext in Java EE-Anwendung einfügen)
- In JMS 2.0 kann JMSContext in eine Java EE-Webanwendung oder -EJB-Anwendung eingefügt werden, z. B. @Inject @JMSConnectionFactory( "jms/InjectedconnectionFactory") private JMSContext injectedcontext. Weitere Informationen finden Sie in der Dokumentation zur JMS 2.0-Spezifikation.
- Unterstützung für gemeinsam genutzte nicht permanente Subskriptionen
- JMS 2.0 unterstützt die gemeinsame Nutzung von nicht permantenten Subskriptionen. Bislang konnten nur permanente Subskriptionen gemeinsam genutzt werden. Durch die gemeinsame Nutzung nicht permanenter Subskriptionen können mehrere Benutzer eine Verbindung zu einem beliebigen Typ von Subskription herstellen, die für die gemeinsame Nutzung konfiguriert ist. Weitere Informationen finden Sie in der Dokumentation zur JMS 2.0-Spezifikation.
- Zustellverzögerung
- JMS 2.0 unterstützt die Zustellverzögerung für eine Nachricht. Wenn die Zustellverzögerung angegeben ist, stellt der JMS-Provider die Nachrichten Konsumenten erst zu, wenn die Zeit der Zustellverzögerung verstrichen ist. Weitere Informationen finden Sie im Abschnitt zur Methode "send()" für APIs in JMSProducer und MessageProducer in der Dokumentation zur JMS 2.0-Spezifikation.
- Asynchrones Senden
- JMS 2.0 unterstützt das asynchrone Senden von Nachrichten. In JMS 1.1 war die JMS-Sendeoperation synchron, d. h., die Clientseite blockiert die Nachricht, bis sie eine Antwort vom Server empfängt. Bei der asynchronen Methode für das Senden von Nachrichten sendet die Sendemethode die Nachricht an den Server und übergibt die Steuerung dann wieder an die Anwendung, ohne auf eine Antwort vom Server zu warten. Anstatt blockiert zu werden, während der JMS-Client auf eine Antwort wartet, was unproduktiv ist, kann sich die Anwendung an nützlichen Ereignissen beteiligen, z. B. dem Senden oder Verarbeiten weiterer Nachrichten. Wenn der JMS-Provider mit Ergebnissen antwortet, wird eine geeignete Methode (onCompletion oder onException) der CompletionListeners-Schnittstelle aufgerufen. Weitere Informationen finden Sie im Abschnitt zur Methode "send()" für APIs in JMSProducer und MessageProducer in der Dokumentation zu den JMS-Spezifikationen.
- Neue MDB-Aktivierungseigenschaften
- Im Rahmen der EJB 3.2-Spezifikation wurden die folgenden vier Eigenschaften für die MDB-Aktivierungskonfiguration neu hinzugefügt: "connectionFactoryLookup", "destinationLookup", "clientId" und "subscriptionName". Die Eigenschaften "clientId" und "subscriptionName" wurden in Websphere Application Server bislang bereits unterstützt. Die Unterstützung wurde jetzt aber um die beiden neuen Eigenschaften "connectionFactoryLookup" und "destinationLookup" erweitert.
- JMS-Ressourcendefinitionen in Java EE-Anwendungen
- Im Rahmen der JMS 2.0-Spezifikation werden zwei neue Annotationen, javax.jms.JMSConnectionFactoryDefinition und javax.jms.JMSDestinationDefinition, unterstützt. Diese beiden Annotationen werden in Java EE-Webanwendungen und -EJB-Anwendungen unterstützt. JMSConnectionFactoryDefinition wird für die Konfiguration der Ressource "javax.jms.ConnectionFactory" verwendet und JMSDestinationDefinition für die Konfiguration der Zielressource (javax.jms.Queue oder javax.jms.Topic).