Das war nicht für EJB bis 3.1 vorhanden. Mit 3.1 EJB können Sie einen Singleton-Bean verwenden, das simulieren:
Von Application Startup/Shutdown Callbacks:
@Startup
@Singleton
public class FooBean {
@PostConstruct
void atStartup() { ... }
@PreDestroy
void atShutdown() { ... }
}
Andernfalls müssen Sie auf den guten alten Trick verlassen, um ein ServletContextInitializer
zu verwenden.
Es gibt einige anwendungsspezifische Erweiterungen, z. lifecycle listener für Glassfish. Vielleicht gibt es so etwas für JBoss.
Aber wenn ich Sie wäre, würde ich versuchen, auf Standardfunktionen so viel wie möglich zu verlassen. Das Problem bei einer nicht standardmäßigen Erweiterung ist, dass Sie nie genau wissen, was getan werden kann oder nicht, z. können Sie die Transaktion starten oder nicht, etc.
Alternativ kann immer eine MBean mit Start/Stop-Lifecycle-Methoden verwendet werden. Die MBean wird mit dem benötigten EJB injiziert und ruft alle Methoden auf, die benötigt werden. –
Danke. Zwei großartige Beiträge. Ich endete stattdessen mit einem "ServletWrapper". Aber ein Refactor steht auf der Tagesordnung. Prost! – Elijah
Ich benutze jboss 5.1 (nicht sicher, ob es EJB3.1 unterstützt) Ich kann diese Technik verwenden, um die deploy-Methode aufzurufen. Vielen Dank. – rayman