我有一個使用外部jar(用於日誌記錄目的)的Java EE應用程序,但它需要一個配置URL,通過JNDI查找在jar本身中解析。WebSphere外部Jar JNDI綁定
一些澄清例子:
LoggingLib.jar: - > LoggingFactory.java
public void resolveJndi(){
Context ctx = new InitialContext();
URL myConf = ctx.lookup('url/myConf');
}
這個LIB包含在真正的應用程序EAR文件,並在各種類的應用程序的調用(在網絡模塊,ejb模塊,甚至在具有JPA類的另一個jar中)。
如果jndi名稱'url/myConf'存在,那麼一切正常:但我需要將它映射到在部署時指定的個性化名稱。 對於其他資源,我已經使用ibm綁定解決了此問題:在部署時,會詢問哪些是這些資源的真正jndi名稱。這樣,軟件和配置之間就會解耦:應用程序將查找java:comp/env/url/myConf,但服務器將使用它的真實名稱來解析它。 我試過用application.xml和ibm-application-bnd.xml做同樣的事情,但沒有成功。
什麼是做這種參考的正確方法?
你沒有看過所有的問題:我完全知道如何Web模塊和EJB上指定的資源,我的問題是有關如何爲指定資源一個包含在所有項目中的外部罐子。目前我在所有的ejbs和web.xml中指定了相同的資源,但這是一種骯髒的方式,我問是否可以在application.xml或類似的東西上指定它 – Eldono
我認爲很明顯,綁定是爲Java EE組件指定的,哪些任意JAR不是。 – fnt