繁体   English   中英

使用@Resource加载环境条目

[英]Using @Resource to load environment entries

我正在尝试加载bean运行时配置。

@Stateless
public class MyBean implements MyLocal{    
   @Resource String runtimeSetting1="default_value";
   //....
}

我找不到如何在应用程序服务器端(Glassfish)上创建自定义资源的方法-我不知道应该在“工厂类”字段中输入什么。 也许有更好的方式加载配置...

谢谢。

据我所知,在Java EE标准的方法是声明env-entry配置数据。 这适用于所有Java EE组件,例如EJB 3 bean类,servlet,过滤器,拦截器,侦听器类等。在这里,在ejb-jar.xml声明如下内容:

<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar xmlns="http://java.sun.com/xml/ns/javaee" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.0"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"> 
  <enterprise-beans>
    <session>
      <ejb-name>FooBean</ejb-name>
      <env-entry>
        <description>foobar entry</description>
        <env-entry-name>foo</env-entry-name>
        <env-entry-type>java.lang.String</env-entry-type>
        <env-entry-value>bar</env-entry-value>
      </env-entry>
      ...
    </session>
    ...
  </enterprise-beans>
  ....
</ejb-jar>

然后使用JNDI查找环境或按其名称注入环境。 例如,将其注入到您的bean中:

@Resource(name="foo")
private String myProperty; 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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