< Zurück | Weiter >

Lerneinheit 2: EJB entwickeln

In dieser Lerneinheit erstellen Sie eine Session-Bean, entwickeln eine lokale Schnittstelle und die Implementierungsklasse für die Bean. Sie verwenden außerdem den Dialog "EJB-Exporte verwalten", um die EJB als OSGi-Service bereitzustellen.

Session-Bean erstellen

In diesem Abschnitt erstellen Sie eine Session-Bean und geben die lokale Schnittstelle an.
  1. Öffnen Sie den Assistenten "Session-Bean". Klicken Sie im EJB-Projekt mit der rechten Maustaste auf "ejbModule" und wählen Sie Neu > Session-Bean (EJB 3.x) aus.
  2. Erstellen Sie die Bean. Geben Sie im Assistenten die folgenden Werte ein:
    Projekt
    EJB
    Java™-Paket
    com.ibm.example.impl
    Klassenname
    EJBConverter
    Statustyp
    Stateless
    Lokal
    Wählen Sie das Kontrollkästchen Lokal aus und geben Sie den folgenden Wert ein: com.ibm.example.EJBConverterLocal
    Sicht ohne Schnittstelle
    Heben Sie die Markierung von Sicht ohne Schnittstelle auf.
    EJB 3.x-Session-Bean erstellen
    Anmerkung: Die Anwendung, die in diesem Lernprogramm entwickelt wird, verwendet eine lokale Schnittstelle. Wenn Sie ferne Schnittstellen verwenden möchten, wählen Sie im Assistenten das Kontrollkästchen Fern aus und entwickeln Sie die entsprechende Schnittstelle. Da JNDI-Suchen für ferne Schnittstellen anders funktionieren, müssen Sie bei fernen Schnittstellen den Suchcode anpassen. Die nächste Lerneinheit enthält ein Beispiel hierzu.
  3. Klicken Sie auf Fertigstellen. Die Session-Bean wird erstellt und die Klasse wird im Editor geöffnet.

Lokale Schnittstelle entwickeln

Beim Erstellen der Session-Bean wurde die Schnittstelle "EJBConverterLocal" im Projekt "EJBClient" erstellt. In diesem Abschnitt fügen Sie der Schnittstelle zwei Methoden hinzu. Die Methoden beschreiben grundlegende Temperaturumrechnungsoperationen.
  1. Öffnen Sie die Schnittstelle "EJBConverterLocal". Blenden Sie im Projekt "EJBClient" den Ordner "ejbModule" und das Paket "com.ibm.example" ein. Klicken Sie doppelt auf die Schnittstelle "EJBConverterLocal". Die Schnittstelle wird im Editor geöffnet.
  2. Fügen Sie der Schnittstelle Methoden hinzu. Fügen Sie der Schnittstelle die folgenden Methoden hinzu:
    public double convertToFahrenheit(double celsius);
    public double convertToCelsius(double fahrenheit);
    Daraus ergibt sich folgende Code:
    package com.ibm.example;
    
    public interface EJBConverterLocal {
    
       public double convertToFahrenheit(double celsius);
    
       public double convertToCelsius(double fahrenheit);
    
    }
  3. Speichern Sie die Änderungen. Beachten Sie, dass beim Speichern der Schnittstellendatei für die Klasse "EJBConverter" Fehler angezeigt werden, da sie noch nicht die Methoden implementiert, die Sie der Schnittstelle hinzugefügt haben.

Implementierungsklasse entwickeln

In diesem Abschnitt implementieren Sie die Methoden zur Temperaturumrechnung, die von der lokalen Schnittstelle benötigt werden.
  1. Öffnen Sie die Klasse "EJBConverter". Blenden Sie im EJB-Projekt den Ordner "ejbModule" und das Paket "com.ibm.example.impl" ein. Klicken Sie doppelt auf die Klasse "EJBConverter". Die Klasse wird im Editor geöffnet.
  2. Entfernen Sie den Standardkonstruktor.
  3. Fügen Sie die Implementierungen für die zwei Methoden hinzu, die Sie der Schnittstelle "EJBConverterRemote" hinzugefügt haben. Fügen Sie der Klasse die folgenden Methodenimplementierungen hinzu:
    public double convertToCelsius(double fahrenheit) {
       return (fahrenheit - 32) * (5 / 9d);
    }
    
    public double convertToFahrenheit(double celsius) {
       return celsius * (9 / 5d) + 32;
    }
    Die fertige Klasse ähnelt dem folgenden Code. Beachten Sie, dass der ursprüngliche vom Assistenten generierte Code eine @Stateless-Annotation und eine @Local-Annotation enthält, die die von Ihnen im Session-Bean-Assistenten eingegebene lokale Schnittstelle angeben.
    package com.ibm.example.impl;
    
    import com.ibm.example.EJBConverterLocal;
    import javax.ejb.Local;
    import javax.ejb.Stateless;
    
    @Stateless
    @Local(EJBConverterLocal.class)
    public class EJBConverter implements EJBConverterLocal {
    
       public double convertToCelsius(double fahrenheit) {
          return (fahrenheit - 32) * (5 / 9d);
       }
    
       public double convertToFahrenheit(double celsius) {
          return celsius * (9 / 5d) + 32;
       }
    }
  4. Speichern Sie die Änderungen.

EJB als OSGi-Service bereitstellen

EJBs, die Sie einem OSGi-Projekt mit EJB-Unterstützung hinzufügen, werden standardmäßig automatisch als OSGi-Service bereitgestellt. Die Bereitstellung als OSGi-Service wird über den Header "Export-EJB" im OSGi-Manifest definiert. In diesem Abschnitt prüfen Sie das Manifest und verwenden den Dialog "EJB-Exporte verwalten", um zu bestätigen, dass "EJBConverter" als OSGi-Service bereitgestellt wird.
  1. Öffnen Sie das Manifest. Klicken Sie im EJB-Projekt doppelt auf Manifest:EJB. Daraufhin wird das Manifest geöffnet. Klicken Sie auf das Register MANIFEST.MF, um die Datei im Textformat anzuzeigen. Sie sehen, dass die Datei einen Header Export-EJB mit einem Eintrag für die EJBConverter-EJB enthält. Beachten Sie, dass Sie EJB-Exporte verwalten können, indem Sie dem Header "Export-EJB" Einträge hinzufügen. Sie können EJBs hinzufügen, indem Sie die Einträge in Form einer durch Kommas getrennten Liste hinzufügen.
    Anmerkung: Es gibt zwei Sonderfälle im Hinblick auf den Header "Export-EJB", die Sie kennen sollten:
    NONE
    Wenn Sie als Eintrag für den Header "Export-EJB" NONE angeben, werden keine EJBs als Services bereitgestellt. Wenn Sie jedoch NONE angeben und außerdem eine EJB der Liste hinzufügen, wird von den Tools eine Warnung angezeigt.
    Leer
    Wenn Ihr Manifest einen Header "Export-EJB" enthält, jedoch keine Einträge vorhanden sind, werden standardmäßig alles EJBs im Projekt als Services bereitgestellt.
  2. Öffnen Sie den Dialog "EJB-Exporte verwalten". Klicken Sie mit der rechten Maustaste auf das EJB-Projekt und wählen Sie OSGi > EJBs als OSGi-Service verfügbar machen aus. Der Dialog "EJB-Exporte verwalten" wird geöffnet. Vergewissern Sie sich, dass im Dialog das Kontrollkästchen neben der EJBConverter-EJB ausgewählt ist und klicken Sie auf OK. Sie können diesen Dialog bei Ihren Projekten dazu verwenden, um EJBs, die als Services bereitgestellt werden, hinzuzufügen und zu entfernen. Wenn Sie die in diesem Dialog ausgewählten EJBs ändern, werden auch die Einträge im Header "Export-EJB" im Manifest geändert.
    Dialog 'EJB-Exporte verwalten'
    Anmerkung: Wenn Sie neue EJBs für das Projekt erstellen, werden sie automatisch als OSGi-Service bereitgestellt. Sie können den Dialog "EJB-Exporte verwalten" verwenden, um EJBs zu löschen, die Sie nicht bereitstellen möchten.
< Zurück | Weiter >
Symbol das den Typ des Artikels anzeigt. Artikel für Lerneinheit
Nutzungsbedingungen für Information Center | Feedback

Symbol für Zeitmarke Letzte Aktualisierung: 29.04.2014

Dateiname: osgi_ejb_2.html