2012-08-01 94 views
3

目標是創建一個簡單的Java EE 6應用程序,其中部署在計算機上的EJB和不同計算機上的Web部件。我使用的是Glassfish和Netbeans 7.2,但我對這兩部分之間的依賴關係感到困惑。Netbeans Java EE項目在不同計算機上的圖層

我創建了一個企業應用程序項目,Netbeans 7.2開始在戰爭部分和jar部分拆分項目。由於這兩個應該部署到兩個不同的機器(兩個Glassfish服務器),我在創建第一個EJB時使用了Remote選項,但Netbeans要求我提供一個Remote Project。我應該創建一個包含遠程接口的庫嗎?在這種情況下,戰爭部分是否應該使用它? (看來戰爭jsf管理bean已經能夠導入接口,所以我感到困惑)。

我讀過的所有Netbeans教程沒有提到遠程接口,當客戶端是一個Web應用程序,但只有當客戶端是企業客戶端應用程序。使用Web組件和ejb組件開發Java EE多層應用程序的正確方法是什麼?

回答

2

是的,你必須爲遠程接口創建一個項目,否則你不能調用EJB的

0

是的。您需要創建具有所有必需(遠程)業務接口/例外和Travel Objects(TO)的e「EJB Client」jar。

如果你使用Maven的,你可以在這裏找到一個很好的文檔,如何創建這樣一個: https://maven.apache.org/plugins/maven-ejb-plugin/examples/generating-ejb-client.html

然後在你的戰爭/ WEB-INF/lib目錄僅包含客戶罐子,爲所有其它必需罐子你應用程序,但不包含包含EJB服務實現的jar。這些部署在另一臺機器的EAR/lib文件夾中。客戶端jar只能存在於你的web機器類路徑中。

順便說一句:如果你使用maven。看看GitHub上的示例maven結構: https://github.com/StefanHeimberg/stackoverflow-1134894/。這不是一個「分裂」建築的例子,但我認爲它可以是信息。或簡單地忽略它:)

相關問題