EJB3.1提供属性值

时间:2012-07-19 14:05:32

标签: ejb-3.1

也许这个问题可能会重复。我找不到任何好的搜索词。

如何为SLSB提供一些开发属性值?

@LocalBean
@Stateless
class ClouldBean {

    public void doSomethingWithUsernameAndPassowrd() {
        // ...
    }

    private String username;
    private String password;
}

我只想知道如何以非常标准便携式方式注入usernamepassword

我是否必须使用一些标准属性配置文件?

我是否必须将其设置为由容器提供?

1 个答案:

答案 0 :(得分:2)

是的,有标准和可移植的方式,它被称为环境条目。

将以下内容添加到ejb-jar.xml:

<ejb-jar>
    <enterprise-beans>
         ....
        <session>
            <ejb-name>ClouldBean</ejb-name>
         ....
            <env-entry>
               <env-entry-name>username</env-entry-name>
               <env-entry-type>java.lang.String</env-entry-type>
               <env-entry-value>my name</env-entry-value>
            </env-entry>
        ...
        </session>
    </enterprise-beans>
</ejb-jar>

然后你可以为bean中的变量注入值:

@Resource(name="username")
private String username;

有关更详细的示例,您可以查看此blog post。对于所有细节,最佳来源是EJB 3.1规范第16.4节。