2011-11-24 52 views
4

为了配置我们的应用程序,我们希望将一些配置放置在应用程序服务器中。在WebSphere中通过JNDI配置和查找简单字符串

我们目前正在使用WebSphere JNDI工具来查找网址和数据源。

另外我们希望在应用程序服务器中放置简单的字符串。我们不想使用WebSphere“Enviroment变量”。

“资源环境”可以用于这样的目的吗?如果是这样,它如何使用?

我们想获得与字符串:

InitialContext ctx = new InitalContext(); 
String myString = (String)ctx.lookup("jndi/string/myString"); 

是否有其他替代简单?

我们正在使用WebSphere Application Server 7

回答

7

我相信你可以使用Name Space Bindings这个

的Blurb(环境下,命名,命名空间绑定):

名称空间绑定

使用此页面配置名称绑定常量字符串值,企业bean,CORBA CosNaming命名上下文或CORBA叶 节点对象,或者可以使用JNDI查找的对象。

+0

它是一种“黑客”,其中一种仅限于“cell/persistent /”前缀,但它没有大的配置。谢谢! –

+4

如果您在服务器或集群范围创建这些绑定,则不需要使用限定的前缀查找它们。 – shelley

7

看看它是针对WebSphere 5或6的一篇文章Using resource environment providers in WebSphere Application Server

但这个想法应该为第7版工作了。基本上你创建一个自定义资源环境提供者,它通过工厂返回你自己类型的对象。工厂实施javax.naming.spi.ObjectFactory并从Websphere获得其输入。

在我看来,如果你有几个配置参数,这是一个很好的解决方案,但随着参数数量的增长,它很快就会变得很难维护。

+0

这是干净利落的方式。然而,看着漫长的指南,我可能会选择“hack”命名空间绑定。谢谢! –

+3

我只能同意。将简单的名称/值对配对到WebSphere JNDI中是非常麻烦的。没有人应该惊讶于在WAS中做简单的事情有多难。 – DagR

+0

+1 DagR - WAS可能太难 – jasonk