GEDOPLAN
Jakarta EE (Java EE)

CDI 4.0: Events mit BeanManager feuern

Jakarta EE (Java EE)
match 1899824 640

CDI Events können mit Hilfe einer Event Source gefeuert werden, z. B.

@Inject
@Urgent
Event<Message> urgentMessageEventSource;
...
urgentMessageEventSource.fire(new Message(...));

Im angedeuteten Code ist @Urgent ein Qualifier und Message eine beliebige Java-Klasse.

Bis CDI 3 kann zum Versenden von Events auch ein BeanManager genutzt werden:

@Inject
BeanManager beanManager;
...
beanManager.fireEvent(new Message(...), new AnnotationLiteral<Urgent>() {});

BeanManager#fireEvent steht in CDI 4 nicht mehr zur Verfügung. Stattdessen kann getEvent/select/fire verwendet werden:

beanManager.getEvent().select(new AnnotationLiteral<Urgent>() {}).fire(new Message(...));

Die neue Form hat den Vorteil, dass statt fire auch fireAsync zur Verfügung steht und somit auch asynchron versendet werden kann.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Bitte füllen Sie dieses Feld aus.
Bitte füllen Sie dieses Feld aus.
Bitte gib eine gültige E-Mail-Adresse ein.
Sie müssen den Bedingungen zustimmen, um fortzufahren.

Autor

Diesen Artikel teilen

LinkedIn
Xing

Gibt es noch Fragen?

Fragen beantworten wir sehr gerne! Schreibe uns einfach per Kontaktformular.

Kurse

weitere Blogbeiträge

mask g258b04055 640
Web Security, Jakarta EE (Java EE), Spring

Jackson JSON Filter

JSON als Datenstruktur ist bei der Implementierung von Webservices kaum wegzudenken. Insbesondere Jackson als JSON Parser bietet eine ganze Reihe von Möglichkeiten, um auf die Generierung einzuwirken. Ein naheliegen Anwendungsfall hier z.B. das Ausblenden von bestimmten Attributen basierend auf Benutzer-Rollen oder Berechtigungen. Vorhang auf für: @JsonFilter

IT-Training - GEDOPLAN
Webprogrammierung

Angular, Validatoren

Formulare sind der Kern vieler Businessanwendungen. Neben der Prüfung innerhalb des Backends ist es in aller Regel auch eine Anforderung…
IT-Training - GEDOPLAN
Jakarta EE (Java EE)

Sind EJBs böse?

In der letzten Zeit findet man diverse Veröffentlichungen oder auch Vorträge auf Usergroups und Konferenzen, die scheinbar das eine Ziel…

Work Life Balance. Jobs bei Gedoplan

We are looking for you!

Lust bei GEDOPLAN mitzuarbeiten? Wir suchen immer Verstärkung – egal ob Entwickler, Dozent, Trainerberater oder für unser IT-Marketing! Schau doch einfach mal auf unsere Jobseiten! Wir freuen uns auf Dich!

Work Life Balance. Jobs bei Gedoplan

We are looking for you!

Lust bei GEDOPLAN mitzuarbeiten? Wir suchen immer Verstärkung – egal ob Entwickler, Dozent, Trainerberater oder für unser IT-Marketing! Schau doch einfach mal auf unsere Jobseiten! Wir freuen uns auf Dich!