Tipps und Ergänzungen zur 1. Auflage des Buches

JBoss 4.0.0

Mit dem Erscheinen von JBoss 4.0.0 steht ein weiterer freier Applikationsserver zur Verfügung, der konform zu den Standards EJB 2.1 und J2EE 1.4 ist.

Die Beispiele aus dem Buch laufen selbstverständlich auch auf JBoss 4, sofern die JBoss-spezifischen Deployment-Deskriptoren ergänzt werden. Sie sind in der aktuelle Buchsoftware (Download) bereits enthalten, sodass Sie die Beispiele auch sofort auf JBoss 4.0.0 ausprobieren können. Dazu sind auch die Ant Build-Skripte überarbeitet worden, um ein komplett durch Ant gesteuertes Application-Assembly und -Deployment durchführen zu können.

Neue Version der J2EE Referenzimplementierung

Sun hat im Juni 2004 eine neue Version der J2EE 1.4 Referenzimplementierung veröffentlicht. Der offizielle Name ist »J2EE 1.4 SDK Update 1«. Sie enthält jetzt den Sun Java System Application Server 8 in der Platform Edition. Diese Ausgabe steht auch für den kommerziellen Einsatz zum kostenlosen Download zur Verfügung.

Die neue Version kann natürlich ebenfalls zum Ausprobieren der Beispiele aus dem Buch verwendet werden. Es sind sind nur wenige geringfügige Änderungen zu berücksichtigen:

Ergänzungen mit dem Erscheinen der J2EE 1.4 SDK Update 1

Kapitel 2, Seite 43

Die Ausgabe der Serverversion ist jetzt:

Version = Sun Java System Application Server Platform Edition 8.0.0_01

Kapitel 4, Seite 95 und Kapitel 7, Seite 132f

Der Dialog zur Vergabe der JNDI-Namen und zur Zuordnung der EJB-Referenzen im Deployment-Tool ist auf der Ebene der Applikation durch Betätigen der Schaltfläche Sun-specific Settings und Auswahl von JNDI-Names zu erreichen: Abbildung 7.5

Außerdem kann nun auch schon direkt beim Anlegen der EJB-Referenz die Zuordnung zum EJB- oder JNDI-Namen vorgenommen werden. Der entsprechende Dialog (z.B. Abbildung 7.4, Seite 131) wurde dazu um zwei Eingabefelder erweitert (Dank an Alexander Gräf für den Hinweis): Abbildung 7.4

Kapitel 17, Seite 386f

Die Zuordnung von Benutzern zu Rollen erfolgt im Deployment-Tool über Sun-specific Settings und User to Role Mappings: Abbildung 17.5

Hinweise zu J2EE 1.4 2004Q4 Beta

Im September 2004 ist die erste Betaversion des Sun One Applicationserver Version 8.1 erschienen. Die Beispiele sind auch darauf voll lauffähig. Lediglich Username und Passwort für die Anmeldung am JMS (Kapitel 14, Seite 331) und E-Mail-Provider (Kapitel 14, Seite 341) sind anders, es ist jeweils »guest« anstelle von »j2ee« zu verwenden.

Sonstige Berichtigungen

(Vielen Dank an die Leser Matthias Ratsch, Martin Haag und Jörn Hameister für ihre Hinweise!).

Kapitel 1

Seite 25: Im letzten Satz ersetze man »Spalte« durch »Zeile«!

Kapitel 2

Seite 36: Am Ende des ersten Absatzes muss es heißen:
... EJBs, die entsprechend diesem Standard entwickelt wurden, ...

Kapitel 3

Seite 67, Abschnitt 3.6.4: Die Methode, die im letzten Satz des Textes erwähnt wird, lautet richtig

computeCuboidSurface()

Kapitel 5

Seite 100, Abschnitt 5.2.1: Ein schreibender Zugriff auf Klassenvariablen ist rein formell natürlich möglich, er ist nur nicht zulässig. Analog dazu sollte es auf der folgenden Seite 101 besser heißen: Allerdings ist einer Stateful Session-Bean auch schreibender Zugriff auf ihre Instanzvariablen erlaubt.

Seite 109, 2. Absatz: Zu den Exceptions, bei deren Auftauchen eine EJB entfernt wird, gehört auch java.rmi.RemoteException. Diese Festlegung existiert aus Gründen der Abwärtskompatibilität zu EJB 1.0. Seit EJB 1.1 ist das Auslösen von RemoteException aus der Bean-Klasse heraus verboten, statt dessen sollte javax.ejb.EJBException verwendet werden.

Kapitel 9

Seite 202, letzte Zeile: Anstelle n:n muss es n:m heißen.

Kapitel 14

Seite 320, Abschnitt ejbCreate: Die Aussage zur Fehlerbehandlung am Ende des Abschnitts muss lauten:
Bei Fehlern sollte eine javax.ejb.EJBException ausgelöst werden. Im Gegensatz zu Session- und Entity-Beans ist das Auslösen von Application-Exceptions in der ejbCreate() Methode bei Message-Driven Beans nicht erlaubt.
Zum Beispiel:

  public void ejbCreate() {
    try {
      m_pdmHome = lookupProductDataSessionHome();
    }
    catch (NamingException ex) {
      throw new javax.ejb.EJBException(ex);
    }
  }

Seite 326, Zeile 4: Dies ist der Benutzername, ...

Seite 326, Zeile 21: Der Erfolg der beiden Aktionen ...

Kapitel 18

Seite 412, letzer Absatz: Zu den Exceptions, bei denen ein Rollback ausgeführt wird, gehört auch java.rmi.RemoteException (siehe Bemerkung zu Seite 109).

Kapitel 20

Seite 436, Abschnitt 20.2: Statt »üEndpunkt« lies »Endpunkt1«.

Seite 442, letzter Absatz: Die Namespace URI ist urn:PDM. Der zweite Satz beginnt richtig folgendermaßen: Dieser Name wurde ...