Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
490 views
in Technique[技术] by (71.8m points)

jakarta ee - How to access deployment parameter from within EJB

In a Java EE 6 Web application, I would like to access a deployment parameter (a string value) from within an EJB.

I know that I can define a Context Parameter in web.xml descriptor, and I'll be able to access it through javax.faces.context.ExternalContext#getInitParameterMap(), when I am in a JSF bean, and through getServletContext() from within a Servlet, but this is not the case, indeed, because I am in an EJB.

So, the question is: is there any standard (and possibly clean) way to accomplish this goal?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

After further research, I have found out the use of env-entry annotation in web.xml.:

<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>        

The env-entry can be accessed in various ways from an EJB. The simplest is the use of @Resource annotation (requires CDI):

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

Links: Configure your EJB 3 with envirnoment entries using ENC


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...