我有兩臺筆記本電腦。兩者都通過家庭Wi-Fi路由器連接到互聯網。嘗試從獨立的非EE Java客戶端訪問遠程EJB
laptop1:測試Java企業版7個應用程序,使用NetBeans 8和GlassFish 4
laptop2:測試Java標準版7個應用程序,使用Eclipse火星
這裏是我做了筆記本電腦1:
打包一個簡單的EJB組件和庫co將EJB的遠程接口綁定到EAR中。
在GlassFish上成功部署了它。
將企業應用程序客戶端和包含EJB遠程接口的相同庫打包到模塊中,並將其單獨部署在GlassFish上。
這兩個應用程序(EAR和客戶端模塊)運行良好,客戶端可以使用依賴注入(@EJB)調用ejb組件的方法。
這裏就是我面臨着同時做一些涉及兩個laptop1和laptop2問題:
我想以調用方法來創建laptop2獨立非EE客戶端位於laptop1上的遠程EJB組件上。我正在關注此文檔 https://glassfish.java.net/docs/4.0/application-development-guide.pdf
該文檔中編寫的步驟如下。請參閱下面的嵌入式問題。
STEP1
InitialContext ctx = new InitialContext();
BeanRemote bean =(BeanRemote)ctx.lookup(「com.acme.BeanRemote」);
它看起來不像我的JNDI。 java:global在哪裏?
STEP2
複製作爲安裝/ LIB/GF-client.jar中文件到客戶機,並且包括它在客戶端上的類路徑。 我該怎麼做,我在哪裏可以找到客戶端的類路徑?
如果在客戶端計算機上沒有安裝GlassFish服務器(廢話!),你還必須在爲安裝/ modules目錄複製到客戶端機器及其 目錄結構相對於作爲安裝維護/lib/gf-client.jar文件。 相對於類路徑嗎?
STEP3
設置以下系統屬性的JVM啓動選項:
-Dorg.omg.CORBA.ORBInitialHost = $ {} ORBhost
-Dorg.omg.CORBA.ORBInitialPort = $ {ORBport}
此處ORBhost是GlassFish服務器主機名,ORBport是ORB端口 數字(默認爲3700,用於默認服務器實例,名爲server)。
如何在客戶端設置JVM的上述啓動選項?
STEP4
確保etc/hosts文件在客戶端計算機上的文件映射GlassFish服務器的主機名和外部IP地址。 在每檯筆記本電腦上的這個文件中,我是否需要爲計算機名稱標記一個完全合格的域名,並將其放在由Wi-Fi網絡分配的IP旁邊?
你寧願換你的EJB,我們後面的Web服務,並獲得其使用HTTP API,你不應該... –
問題是遠程訪問,而不是EJB的本質。 – softwarelover
這個網站有什麼問題?沒有一個有用的答案。我經歷了很多,仔細地總結了這裏的線條。\ – softwarelover