可以检测应用程序何时在 Wildfly 中成功启动?
Possible to detect when application starts successfully in Wildfly?
有没有办法检测 war 文件何时被 Wildfly 成功加载并导致某些代码执行?
你有几个选择。
如果您正在利用 CDI,您可以为 @Observes @Initialized(ApplicationScoped.class) Object o
添加一个观察者方法
如果您正在利用 EJB,您可以使用 @javax.ejb.Singleton @javax.ejb.Startup
和 @PostConstruct
方法来进行初始化。这里有两个示例实现。
// using a CDI object
@ApplicationScoped
public class SomeStartupBean {
public void initOnStartup(@Observes @Initialized(ApplicationScoped.class) Object obj) {
// do your start up logic here
}
}
或
// using an EJB
@Singleton
@Startup
public class SomeStartupSingleton {
@PostConstruct
public void initOnStartup() {
// do your start up logic here
}
}
您可以使用 @Startup
EJB。这将在应用程序成功部署后执行。
有没有办法检测 war 文件何时被 Wildfly 成功加载并导致某些代码执行?
你有几个选择。
如果您正在利用 CDI,您可以为 @Observes @Initialized(ApplicationScoped.class) Object o
添加一个观察者方法
如果您正在利用 EJB,您可以使用 @javax.ejb.Singleton @javax.ejb.Startup
和 @PostConstruct
方法来进行初始化。这里有两个示例实现。
// using a CDI object
@ApplicationScoped
public class SomeStartupBean {
public void initOnStartup(@Observes @Initialized(ApplicationScoped.class) Object obj) {
// do your start up logic here
}
}
或
// using an EJB
@Singleton
@Startup
public class SomeStartupSingleton {
@PostConstruct
public void initOnStartup() {
// do your start up logic here
}
}
您可以使用 @Startup
EJB。这将在应用程序成功部署后执行。