2013-05-17 59 views
0

在我們的系統中,我們有一個傳統的獨立Java應用程序,我們正試圖使它們可用於我們正在服務器上運行的所有新webapps(fe Tomcat) 按順序向這個應用打火機發出請求,我們認爲使用jndi直接將它們轉換爲相同的虛擬機,而不是開發Web服務接口。傳統應用程序在同一臺服務器上或通過ws訪問

我想在某些webapp上下文中啓動這個應用程序環境,並使其他webapps可用的某些API並調用接口的方法。

當我由於依賴關係版本之間的不兼容問題而出現更多問題時,我無法通過JNDI在Tomcat的只讀上下文中綁定此對象,而無需在Common庫中添加應用程序。也許最好的解決方案是將這些接口部署爲EJB,所以我會使用Java EE服務器而不是servlet容器。或者,也許我會使用其他一些框架,如駱駝或其他。

在此先感謝和任何建議將有所幫助。

回答

3

我建議在REST中包裝遺留的java接口。當您將它們公開爲REST API時,它們將可用於任何客戶端,而不僅僅是java。此外,您不需要任何應用程序服務器,只需要一個用於REST參考實現的jar文件。從性能角度來看,從理論上講,我知道JNDI應該更快,但是在現實世界中,只有在性能密集型應用程序中,性能差異才會變得很重要。

但是,如果性能是您的主要需求,請將您的舊接口包裝在EJB中。

手動JNDI/RMI查找將是最快的,但這是一個相當大的,但除非你在網絡編程和多線程方面經驗豐富,否則我建議你避免這種情況,並使用容器。容器需要處理很多細節,您可以專注於實現業務邏輯。

相關問題