我正在寻找在JBoss上部署的EJB中的入口点。
Servlet有
我正在寻找类似于EJB的
Servlet有
load-on-startup
标签可用于其web.xml
文件中。我正在寻找类似于EJB的
init()
功能。load-on-startup
标签可用于其web.xml
文件中。init()
功能。在 EJB 3.1 之前,这是不存在的。使用 EJB 3.1,您可以使用单例 bean 模拟它:
来自 应用程序启动/关闭回调:
@Startup
@Singleton
public class FooBean {
@PostConstruct
void atStartup() { ... }
@PreDestroy
void atShutdown() { ... }
}
ServletContextInitializer
的老技巧。@Management
注解的接口,并声明了一个签名为public void start() throws Exception
的方法,JBoss将在启动服务时调用此方法。然后,你可以调用要初始化的EJB上的专用init()
方法。@Service
public class BeanLauncher implements BeanLauncherManagement
{
@EJB private SessionBeanLocal sessionBean;
@Override
public void start() throws Exception
{
sessionBean.init();
}
}
@Management
public interface BeanLauncherManagement
{
public void start() throws Exception;
}
更多相关信息,包括其他的生命周期事件,请点击此处查看。
您应该能够将以下行添加到您想要在启动时运行的方法的顶部:
@Observer("org.jboss.seam.postInitialization")
托管Bean可以用于在JBoss启动时执行某些过程,您必须将该托管Bean的条目添加到配置文件中。