jakarta-ee - 如何从 EJB 内访问部署参数

标签 jakarta-ee deployment ejb

在 Java EE 6 Web 应用程序中,我想从 EJB 中访问部署参数(字符串值)。

我知道我可以在 web.xml 描述符中定义一个上下文参数,并且我将能够通过 javax.faces.context.ExternalContext#getInitParameterMap() 访问它,当我在 JSF bean 中时,通过 getServletContext()来自 Servlet 中,但事实并非如此,因为我位于 EJB 中。

所以,问题是:是否有任何标准(并且可能是干净的)方法来实现这一目标?

最佳答案

经过进一步研究,我发现了web.xmlenv-entry注解的使用:

<env-entry>
    <env-entry-name>myEnvEntry</env-entry-name>
    <env-entry-type>java.lang.String</env-entry-type>
    <env-entry-value>MyEnvEntryValue</env-entry-value>
</env-entry>        

可以通过EJB以多种方式访问​​env-entry。最简单的是使用 @Resource 注释(需要 CDI ):

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

链接:Configure your EJB 3 with envirnoment entries using ENC

关于jakarta-ee - 如何从 EJB 内访问部署参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12450297/

相关文章:

java - Java中Connection对象什么时候会被清除?

java - Tomcat 意外崩溃

java.lang.ClassCastException : java. lang.Integer 无法转换为 java.lang.Double

css - 使用 Release 部署网站时样式损坏

maven-2 - 使用 Maven 的外部配置文件

java - 为什么刷新实体管理器时数据库没有更新?

java - 单元测试: @Inject not injecting service

.net - 定期部署 .NET/WPF 应用程序进行内部测试

java - 安全地检查 EJB 是否存在或如果不存在则阻止回滚

java - EJB 客户端未收到应答