EJB 的初始化参数

Initialization parameters for EJB

我有 Singleton 个企业 bean,它在部署后立即启动。我将 EJB 打包到 jar 中并希望分发它。我设置了 Singleton 的几个字段,比如 private final String initParam = "value";我如何将这些初始化参数公开给将我的 jar 部署到他自己的 GlassFish 服务器上的管理员?

您可以使用环境条目,这些应该符合您的需要。

此类参数必须在ejb-jar.xml中描述:

<enterprise-beans>
    <session>
        <ejb-name>YourBean</ejb-name>
        <env-entry>
            <description>Your description</description>
            <env-entry-name>yourParam</env-entry-name>
            <env-entry-type>java.lang.String</env-entry-type>
            <env-entry-value>defaultValue</env-entry-value>
        </env-entry>
    </session>
</enterprise-beans>

env-entry 的值可以像下面这样注入到您的 bean 中:

@Resource(name = "yourParam")
private String initParam;

Env-entries 可以从容器的控制台进行修改,与 属性 文件修改或创建 JVM 参数相比,通常这对管理员来说是一种更方便的方法。

这是来自 Oracle 的一些文档:http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/env_entry/env_entry.html