2009-03-13 5 views
0

Ich benutze GlassFish. Das möchte ich tun. Ich habe verschiedene EJB-Module, die unabhängig voneinander eingesetzt werden können. Aber ich möchte ein zentrales ejb-Modul haben, in dem sich alle eingesetzten Module registrieren müssen. Dies liegt daran, dass nicht alle Module bereitgestellt werden müssen.Ist es möglich, direkt nach der Bereitstellung Methoden einer Session-Bean aufzurufen?

Ich dachte, der beste Weg ist, wenn jedes EJB-Modul eine Session-Bean (oder was auch immer) mit einer bestimmten Methode enthält, die sofort aufgerufen wird, nachdem das Modul implementiert wurde. Aber ich habe keine solche Funktionalität gefunden. Der gesamte Prozess sollte nach dem Deployment stattfinden, da dann ein Client eine Session-Bean des zentralen ejb-Moduls fragen kann, welche Module gerade registriert sind.

Ich habe bereits die Lifecycle-Funktionalität ausprobiert, aber dort muss ich eine eigene JAR-Datei erstellen, die im lib-Verzeichnis des Anwendungsservers abgelegt werden muss, was nicht wirklich das ist, was ich möchte. Wenn ich die Registermethode des zentralen EJB-Moduls anrufe, wird eine Ausnahme ausgelöst, dass diese Aktion nicht erlaubt ist.

Weiß jemand, wie ich das schaffen kann? Danke für jede Hilfe.

Antwort

0

Können Sie dies nicht erreichen, indem Sie versuchen, sie in JNDI nachzuschlagen? Sie werden nicht dort sein, wenn sie nicht im Einsatz sind. Dies ist ein Registrierungs- und Suchmechanismus, der nur Ressourcen an Namen bindet, aber Sie können davon ausgehen, dass der Name nicht bereitgestellt wird, wenn der Name nicht gefunden wird.

+0

Vielen Dank für Ihre Antwort. Aber das Problem ist, dass ich die Namen von Modulen nicht kenne. Nur die Module kennen den Namen des einen zentralen Moduls. Übrigens habe ich bemerkt, ob das funktionieren sollte, es muss auch eine Startreihenfolge sein, die sicherstellt, dass das Zentral- oder Basismodul als erstes geladen wird. –