1

我说的是 Java EE 应用程序和 Wildfly 应用程序服务器。假设我有一个 jar 作为定义以下类的库:

@Singleton
@Startup
class StartupService {

    @PostConstruct
    public void onConstruct() {
        /* do something */
    }
}

现在,我有我的实际战争项目(maven 项目),它具有上述 jar 作为依赖项。因此,StartupService当战争部署到 Wildfly 并开始时,就会执行该类。

有没有办法StartupService在我的实际项目中覆盖行为或禁用?

4

1 回答 1

1

尝试定义以下 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 目录中。我自己没有检查过,但它应该可以工作。

于 2018-09-10T04:33:46.373 回答