2014-09-19 123 views
0

在Glassfish 4.x上的fighting passwords在Ubuntu 14.04 Tahr上遠程執行後,我準備繼續安裝我的第一個遠程EJB模塊 - 只需確保我在正確的道路。從Netbeans示例Creating and Running an Application Client on the GlassFish Server開始,我將如何爲EJB模塊創建一個客戶端,該模塊部署爲遠程glassfish:通過應用程序客戶端容器遠程調用EJB模塊

Netbeans示例假定Glassfish正在本地主機上運行。確切的機制對我來說不清楚,因爲它沒有明確地配置爲本地主機。據推測,它的隱含配置爲本地主機...

我想用ACC連接,而不是一個本地,而是遠程 GlassFish服務器。用於上下文中,ACC是:

在介紹該申請客戶機容器

中的應用客戶機容器(ACC)包括一組所需要的,並與 分佈式Java類, 庫和其他文件的在他們自己的Java虛擬機中運行的Java客戶機程序(JVM)。 ACC管理Java EE應用程序客戶端 組件(應用程序客戶端)的執行,這些組件(應用程序客戶端)用於訪問Java EE服務的各種 (例如JMS資源,EJB組件,web 服務,安全等等) Oracle GlassFish服務器外部的JVM。 ACC使用 RMI-IIOP協議與GlassFish服務器進行通信,並使用與其捆綁在一起的客戶端ORB管理RMI-IIOP通信的詳細信息 。與其他Java EE容器相比,ACC非常輕便。有關調試 應用程序客戶端的信息,請參閱應用程序客戶端調試。

的GlassFish Server開源版應用程序開發指南4.0版

還看到:

https://stackoverflow.com/questions/25830149/how-to-package-a-stand-alone-remote-ejb-application-client

客戶應用程序,如何將ACC 遠程調用EJB模塊?

必須有一個配置。行政協調會從jndi.properties中挑選這個嗎?我無法找到有關ACC使用情況的大量文檔或示例。如果ACC不合適,那麼當然,我會用不同的方法。據推測,有一種方法可以爲ACC指定一個遠程Glassfish服務器。

+0

顯然是'application.xml'部署描述符和'jndi.properties'「...包含連接到遠程EJB容器的環境 屬性」 - http://www.coderanch.com/t/591423/EJB-JEE/java/application-client-invoke-ejb-eclipse – Thufir 2014-09-19 07:30:08

回答

1

你打算如何部署你的應用程序?

在我用來爲ACC開發應用程序客戶端的日子裏,我曾經把所有東西都捆綁在一個EAR中(我仍然會這麼做,因爲它更容易)。

Glassfish部署工件,生成所需的配置(您可以覆蓋application.xml中的配置)。

ACC注意的一件事是遠程連接所需的CORBA屬性。

當您從glassfish管理員下載客戶端jar時,您下載了一個java webstart應用程序,該應用程序會根據需要下載所有必需的庫,並自動設置配置從哪個主機(至關重要的是您正確設置了glassfish域主機,將是一個內部IP或本地主機)從它下載。

+0

下載的JWS應用程序非常適合部署,但這是領先一步。在此之前,當地的ACC如何連接遠程glassfish?那裏有一個缺失的步驟。這種部署方案正是我所追求的,但它是一個前兆,它是一個絆腳石。 ** ACC如何處理遠程連接的CORBA屬性? – Thufir 2014-09-19 07:20:57

+1

ACC不在glassfish中運行,它在本地運行。無論您是在開發還是部署最爲理智的方式來執行此操作,都不需要手動配置CORBA邏輯,而是讓服務器爲您執行此操作。 Netbeans可以幫助解決這個問題。 – maress 2014-09-19 11:57:32

+0

我看到管理控制檯有一個用於部署應用程序的選項。我可以將這個項目部署到遠程glassfish上?如果是這樣,我不知道這是可能的。然後JWS應用程序將被正確配置。我要部署什麼? Netbeans創建了四個獨立的JAR。 – Thufir 2014-09-19 17:54:38