我说的是Java EE应用程序和Wildfly应用程序服务器。 假设我有一个jar作为定义以下类的库:
@Singleton
@Startup
class StartupService {
@PostConstruct
public void onConstruct() {
/* do something */
}
}
现在,我有一个实际的战争项目(maven项目),该项目具有上述的jar作为依赖项。因此,当战争部署到Wildfly并开始启动时,将执行类StartupService
。
在我的实际项目中,有没有办法替代行为或禁用StartupService
?
答案 0 :(得分:0)
尝试定义以下ejb-jar.xml:
<ejb-jar xmlns="http://java.sun.com/xml/ns/javaee" version="3.1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_1.xsd">
<enterprise-beans>
<session>
<ejb-name>StartupService</ejb-name>
<init-on-startup>false</init-on-startup>
</session>
</enterprise-beans>
</ejb-jar>
它必须位于WAR模块的WEB-INF目录中。我自己没有检查过,但是应该可以。