在 Java EE 6 Web 应用程序中,我想从 EJB
中访问部署参数(字符串值)。
我知道我可以在 web.xml
描述符中定义一个上下文参数,并且我将能够通过 javax.faces.context.ExternalContext#getInitParameterMap() 访问它,当我在 JSF
bean 中时,通过 getServletContext()来自 Servlet
中,但事实并非如此,因为我位于 EJB
中。
所以,问题是:是否有任何标准(并且可能是干净的)方法来实现这一目标?
最佳答案
经过进一步研究,我发现了web.xml
中env-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;
关于jakarta-ee - 如何从 EJB 内访问部署参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12450297/