Die folgende Tabelle veranschaulicht die Umsetzung von EJB 3.1-Annotationen und XML-Daten im Implementierungsdeskriptor.
Annotation | Attribute | Beschreibung | Entsprechendes Implementierungsdeskriptorelement |
---|---|---|---|
EJB-Annotationen (JSR-220) | |||
@Stateless |
|
Komponentendefinierende Annotation für eine Stateless Session-Bean. Die Methode isIdentical gibt immer "true" zurück, wenn Sie verwendet wird, um Objektreferenzen zweier Sitzungsobjekte derselben Stateless Session-Bean zu vergleichen (d. h., sie sind funktional austauschbar). |
|
@Stateful |
|
Komponentendefinierende Annotation für eine Stateful Session-Bean. |
|
@Local |
|
Bei Verwendung für die Bean-Klasse werden die lokalen Geschäftsschnittstellen für eine Session-Bean deklariert. Bei Verwendung für eine Schnittstelle wird diese Schnittstelle als lokale Geschäftsschnittstelle festgelegt. In diesem Fall wird value() nicht angegeben. |
|
@LocalHome |
|
Legt die lokale Home-Schnittstelle oder die angepasste lokale Home-Schnittstelle für eine Session-Bean fest. |
|
@Remote |
|
Legt die fernen Geschäftsschnittstellen für eine Session-Bean fest. Bei Verwendung für eine Schnittstelle wird diese Schnittstelle als ferne Geschäftsschnittstelle festgelegt. In diesem Fall wird value() nicht angegeben. |
|
@RemoteHome |
|
Legt die ferne Home-Schnittstelle oder die angepasste ferne Home-Schnittstelle für eine Session-Bean fest. |
|
@Remove |
|
Wird auf eine Geschäftsmethode einer Stateful-Session-Bean-Klasse angewendet. Gibt an, dass der Container nach der Beendigung der Methode die Stateful Session-Bean entfernen soll. |
|
@Init |
(Der
Name der entsprechenden Erstellungsmethode der angepassten Home-Schnittstelle/lokalen Home-Schnittstelle) |
Gibt eine Methode einer Session-Bean an, die der Erstellungsmethode einer angepassten Home-Schnittstelle oder einer angepassten lokalen Home-Schnittstelle entspricht. |
|
@Timeout | Ohne | Gibt eine Methode in einer Stateless-Session-Bean-Klasse oder einer Message-driven-Bean-Klasse an, die die Ablaufzeit des EJB-Zeitgebers für diese Bean empfangen soll. |
|
@MessageDriven |
|
Komponentendefinierende Annotation für eine Message-driven Bean. |
|
@TransactionAttribute |
|
Bei Anwendung auf Typebene wird das Standardtransaktionsattribut für alle Geschäftsmethoden der Session- oder Message-driven Bean angegeben. Bei Anwendung auf Methodenebene wird nur für diese Methode das Transaktionsattribut angegeben. |
|
@TransactionManagement |
|
Gibt an, ob eine Session-Bean oder eine Message-driven Bean containergesteuerte Transaktionen oder Bean-gesteuerte Transaktionen hat. |
|
@PostActivate | Ohne | Gibt eine Methode an, die einen Callback empfangen soll, nachdem eine Stateful Session-Bean aktiviert wurde. |
|
@PrePassive | Ohne | Gibt eine Methode an, die einen Callback empfangen soll, bevor eine Stateful Session-Bean in den passiven Modus versetzt wird. |
|
@EJB |
(Enthält einen der folgenden Schnittstellentypen der Ziel-EJB: [ Lokale Geschäftsschnittstelle,
ferne Geschäftsschnittstelle, lokale Home-Schnittstelle, ferne Home-Schnittstelle
])
|
Gibt eine Abhängigkeit in der lokalen oder in der fernen Ansicht einer Enterprise Java™ Bean an. |
|
@EJBs | Legt mehrere @EJB-Annotationen auf Typenebene fest. | ||
@ApplicationException |
|
Wird auf eine Ausnahme angewendet, um anzugeben, dass sie eine Anwendungsausnahme ist und direkt an den Client gemeldet werden muss (d. h. ohne Wrapping). |
|
@ActivationConfigProperty |
|
Stellt eine Konfigurationseigenschaft für die Aktivierung dar. |
|
@AroundInvoke | Ohne | Gibt eine Methode für eine Klasse an, die im AroundInvoke-Teil eines EJB-Aufrufs aufgerufen werden soll. |
|
@ExcludeClassInterceptors | Ohne | Wird verwendet, um Interceptors auf Klassenebene für eine Geschäftsmethode auszuschließen. |
|
@ExcludeDefaultInterceptors | Ohne | Wird verwendet, um Standardinterceptors für eine Bean oder für eine Geschäftsmethode auszuschließen. |
|
@Interceptors |
|
Gibt eine geordnete Liste mit Interceptors für eine Klasse oder Methode an. |
|
Gängige Annotationen (JSR 250) | |||
@Generated |
|
Die Annotation @Generated wird verwendet, um Quellcode zu markieren, der generiert wurde. Außerdem kann sie dazu verwendet werden, in einer einzelnen Datei den vom Benutzer geschriebenen Code von generiertem Code zu unterscheiden. Wenn sie verwendet wird, muss das Wertelement den Namen des Codegenerators haben. Gemäß der empfohlenen Konvention sollte im Wertfeld der vollständig qualifizierte Name des Codegenerators verwendet werden. Beispiel: com.company.package.classname. Das Datumselement wird verwendet, um das Datum anzugeben, an dem die Quelle generiert wurde. Das Datumselement muss dem Standard ISO 8601 entsprechen. Das Datumselement kann beispielsweise den Wert "2011-07-04T12:08:56.235-0700" haben, der für die lokale Zeit "2011-07-04 12:08:56" in der U.S. Pacific Time Zone steht. Das Kommentarelement ist ein Platzhalter für alle Kommentare, die der Codegenerator in den generierten Code einschließen kann. Dies ist die einzige Annotation mit dem Wert SOURCE für die Aufbewahrungszeit (Retention). Alle übrigen Annotationen haben den Wert RUNTIME. | Ohne |
@PostConstruct | Ohne | Die Annotation @PostConstruct wird in einer Methode verwendet, die nach der Durchführung der Abhängigkeitsinjektion ausgeführt werden muss, um Initialisierungen durchzuführen. |
|
@PreDestroy | Ohne | Die Annotation @PreDestroy wird in Methoden als Callbackbenachrichtigung verwendet, um anzuzeigen, dass die Instanz gerade vom Container entfernt wird. |
|
@Resource |
Dies ist der für diese Ressource zu verwendende Authentifizierungstyp.
Dies ist der JNDI-Name der
Ressource.
Gibt an, ob diese Ressource von dieser Komponente und von anderen Komponenten gemeinsam
genutzt werden kann.
Dies ist der Java-Typ der Ressource. |
Die Annotation @Resource markiert eine Ressource, die für die Anwendung erforderlich ist. Diese Annotation kann auf eine Anwendungskomponentenklasse oder auf Felder oder Methoden der Komponentenklasse angewendet werden. Wenn die Annotation auf ein Feld oder auf eine Methode angewendet wird, injiziert der Container bei der Initialisierung der Komponente eine Instanz der angeforderten Ressource in die Anwendungskomponente. Wenn die Annotation auf die Komponentenklasse angewendet wird, deklariert die Annotation eine Ressource, die zur Laufzeit von der Anwendung gesucht wird. |
|
@Resources | |||
@DeclareRoles |
|
Wird von einer Anwendung zur Deklaration von Rollen verwendet. |
|
@DenyAll | Ohne | Gibt an, dass keine Sicherheitsrollen zulässig sind, um die angegebenen Methoden aufzurufen, d. h., dass die Methoden von der Ausführung im J2EE-Container ausgeschlossen werden müssen. |
|
@PermitAll | Ohne | Gibt an, dass alle Sicherheitsrollen zulässig sind, um die angegebenen Methoden aufzurufen, d. h., dass die angegebenen Methoden gelöscht werden. Die Angabe kann in einer Klasse oder in Methoden erfolgen. Bei einer Angabe in der Klasse gilt diese Angabe für alle Methoden der Klasse. Wird die Angabe auf Methodenebene gemacht, betrifft sie nur die jeweilige Methode. Wenn @RolesAllowed auf Klassenebene angegeben wird und diese Annotation auf Methodenebene angewendet wird, überschreibt die Annotation @PermitAll die Annotation @RolesAllowed für die angegebene Methode. |
|
@RolesAllowed |
|
Gibt die Liste der Rollen an, die auf Methoden in einer Anwendung zugreifen dürfen. Der Wert der Annotation @RolesAllowed ist eine Liste mit Sicherheitsrollennamen. Diese Annotation kann in einer Klasse oder in Methoden angegeben werden. |
|
@RunAs |
|
Definiert die Identität der Anwendung während der Ausführung in einem J2EE-Container. Dadurch können Entwickler die Anwendung mit einer bestimmten Rolle ausführen. Die Rolle muss den Benutzer-/Gruppeninformationen im Sicherheitsrealm des Containers zugeordnet sein. Der zugehörige Wert ist der Name einer Sicherheitsrolle. |
|