简体   繁体   中英

Initialization parameters for EJB

I have Singleton enterprise bean, which starts immediately after deploy. I packed EJB into jar and want to distribute it. I set several fields of Singleton like private final String initParam = "value"; . How can I expose those init parameters to administrator who will be deploy my jar onto his own GlassFish server?

You can use Environment Entries, these should fit your needs.

Such parameters must be described in 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>

The value of the env-entry could be injected into your bean like below:

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

Env-entries could be modifed from the console of your container, normally it is a more convenient way for admins, comparing to property file modification or creating JVM parameters.

Here is some doc from Oracle: http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/env_entry/env_entry.html

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM