Frage

Verwenden der Schweißnaht 1.1.13.Final im Test mit Arquillian ....

Nehmen wir an, ich sprach in ein Feld etwas volatiles. Etwas wie eine Immobilie, die ändert, um die Bohne zu ändern, die den Injektionspunkt besitzt, um Änderungsveranstaltungen zu erhalten. Dachte darüber nach, eine CDI-Erweiterung zu erstellen.

Wird ProcessAnnotType-Ereignis erwischt und sucht alle Felder, die eine benutzerdefinierte Anmerkung auf Feldeinspritzpunkte haben:

generasacodicetagpre.

hatte sich sogar danach alle Injektionspunkte für Felder gepackt und das zugrunde liegende Weldfield mit einem neuen Feld ersetzt, das dem Typ "Wrapper" entspricht. Ansonsten schlägt Bean-Validierung aus.

Dies funktioniert jedoch nur für das Setup-Setup während des Startups, nicht wenn beispielsweise ARQUILLIAN den Bohnenmanager verwendet, um eine Klasse initialisieren, die einen meiner "Wraps" injiziert. Dinge scheitern, seit der Bohnenresolver den Typ als Hash-Schlüssel verwendet, um Bohnen zu finden.

Grundsätzlich denke ich nicht, dass ich eine Klasse maskieren kann, die von der CDI mit einer zusätzlichen Methode, um benutzerdefinierte Ereignisse zu empfangen, "maskieren". Wäre cool gewesen, aber ein Typ ist ein Typ (d. H. Es ist keine Ahnung, wie man den Equal / Hashcode checkt).

War es hilfreich?

Lösung

hat es bekommen.Schaltet die Berechnungswertfunktion (Google-Erweiterung) innerhalb des TypsAffeBeanResolver-Resolvers aus (zumindest die CDI-Weld-Implementierung) ist intelligent.Wenn ich nur die Klasse verlängern:

generasacodicetagpre.

Dann funktioniert alles gut.Getestet, um ein Ereignis in einer Bohne zu erfassen.Wird den Code auf einem Guss mit einem Kommentar posten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top