2011-11-24 101 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