Cela n'existait pas pour EJB jusqu'au 3.1. Avec 3.1 EJB, vous pouvez utiliser un haricot singleton pour simuler que:
De Application Startup/Shutdown Callbacks:
@Startup
@Singleton
public class FooBean {
@PostConstruct
void atStartup() { ... }
@PreDestroy
void atShutdown() { ... }
}
Sinon, vous devrez compter sur le bon vieux truc pour utiliser un ServletContextInitializer
.
Il existe une extension spécifique à l'application, par ex. lifecycle listener pour Glassfish. Peut-être qu'il y a une telle chose pour JBoss.
Mais si j'étais vous j'essayerais de compter autant que possible sur les fonctionnalités standard. Le problème avec l'extension non standard est que vous ne savez jamais exactement ce qui peut être fait ou non, par ex. pouvez-vous démarrer la transaction ou non, etc.
Alternativement, on peut toujours utiliser un MBean avec des méthodes de cycle de vie start/stop. Le MBean est injecté avec l'EJB nécessaire et appelle toutes les méthodes qui sont nécessaires. –
Merci. Deux excellents messages. Je me suis retrouvé avec un "ServletWrapper" à la place. Mais un refactor est à l'ordre du jour. À la votre! – Elijah
J'utilise jboss 5.1 (je ne sais pas si elle supporte EJB3.1) Je peux utiliser cette technique pour invoquer la méthode sur le déploiement? Merci. – rayman