我有兩個單獨安裝的WebSphere。 (實際上一個是帶有EJB 3.0和Web服務功能包的WebSphere Application Server V6.1,另一個服務器是WebSphere ESB Server V6.2)。但是,我知道ESB實際上是建立在WAS之上的,所以它具有regualr WAS服務器所具有的所有配置設置。在不同的WebSphere服務器上進行EJB JNDI查找
在我的ESB服務器中,我試圖公開一個寫爲EJB 3.0的服務,該服務將部署到WAS 6.1服務器。我的問題不是如何讓EJB 2.1調用調用EJB 3.0。我們已經做到了。我的問題是如何跨物理虛擬機進行調用。 WebSphere Application Server從ESB服務器運行在它自己的單元/節點/服務器中。根據我在IBM文檔中讀到的內容,可以在WAS上設置一個名稱空間綁定,以指向另一個WAS實例上的遠程EJB。因此,您可以使用JNDI在一個真正駐留在另一個WAS實例中的WAS實例上查找一個bean。這種方法的優點在於你想要的EJB的位置被抽象到容器級別,並且你不必拖拽IP地址和端口的屬性文件,以便在它改變服務器時訪問該bean。 。您只需對遠程EJB進行標準的JNDI查找,即可獲得它。
聽起來像是可以做到的。 (請參閱以下鏈接: http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.express.doc/info/exp/ae/tnam_view_bindings.html)特別要遵循EJB和間接命名空間綁定的鏈接。
但我一直在對我的頭撞了一會兒。這說得通。它看起來可以完成。而間接命名空間綁定看起來最有前途。但我無法讓它工作得很好。我的ESB服務器不斷抱怨在我所要求的上下文中找不到comp/env/ejb。非常困惑這一個。
只是想知道有沒有人做過這種事情。你能給我一個具體的例子,說明你如何在WAS中設置這樣做?任何幫助表示讚賞
IBM JDK現在很難從我看到的東西中獲得。從他們的網站可用的過時。並且可以得到的更新版本與其他產品(如WebSphere Application Server)一起打包,這引發了一個問題......如果您使用的是Tomcat,爲什麼要購買那些產品以獲得IBM JDK?那麼爲什麼不使用WAS呢? – 2010-06-09 14:10:33