2010-10-28 109 views
1

我們有一個Java/Spring/Hibernate代碼庫,它是我們漂亮的大平臺的核心。我們也有不少獨立的Java webapps(Struts或Spring MVC),它們一起引用了核心系統,從中提取了applicationContext和服務。是否可以從Grails應用程序中引用Java應用程序?

我們需要構建另一個webapp,它也引用了相同的核心繫統,所以我希望能夠在Grails中做到這一點。從我發現的結果看來,您可以輕鬆地將傳統Java代碼打包起來,將其放在Grails項目lib目錄中,並以此方式引用它。

http://www.itexto.net/devkico/?p=333

不幸的是這不會爲我工作,我需要從我的Grails應用程序引用運行的核心繫統和它的服務,你會從其他的Java應用程序中引用的Java應用程序。有沒有辦法做到這一點,或只是不可能與Grails?

的任何信息,將真正幫助...

感謝,

賈斯汀。

+0

您現有的Web應用程序如何與基於Spring/Hibernate的核心繫統集成? – proflux 2010-10-28 14:18:33

+0

在Eclipse中,在構建路徑上有一個選項可以包含其他項目。它從那裏引用了核心系統項目。 – Justin 2010-10-28 14:41:08

回答

1

請參閱有關Grails+Spring integration的文檔。當你在Grails中使用Spring時,下一步應該已經是標準的Spring。

由於您還沒有詳細說明,您現有的Struts和Spring MVC應用程序「如何拉入applicationContext和服務」我無法對細節發表評論。但是,它應該與現有應用程序執行此操作的方式類似。

編輯:檢查還回答了關於如何組織你的Spring bean的this question

+0

我瞭解Grails如何引用其他Spring AppContext,然後將其加載到Grails項目中,但我不想在Grails項目中創建和運行核心AppContext。它確實非常龐大和複雜,需要在外部運行。 – Justin 2010-10-28 14:53:18

+0

正如我在我的回答中所寫的,如果您沒有提供有關現有應用程序如何與同一應用程序上下文進行交互的詳細信息,則無法幫助您解決「如何與外部應用程序上下文進行交互」的問題。根據目前的信息,我只能說「與現有的應用程序一樣」。您對「Eclipse構建路徑」的評論僅影響構建時間方面。同時,「它非常龐大且複雜,需要從外部運行」處理運行時方面 - 關於Eclipse的評論在運行時並不相關。 – 2010-10-28 15:36:56

1

我會考慮在您的Spring服務/ beans之上構建一個Service Layer。這是Martin Fowler的「企業應用程序體系結構模式」一書中記錄的模式。從本質上講,你需要一個包裝你的Spring服務(你的業務邏輯)的薄層,這個層可以被Web服務調用,或者從你的web應用程序進行遠程調用。這將允許您將應用程序託管在不同的進程中,但仍能夠在它們之間進行通信,而無需將所有內容都插入到同一個Web容器中,並找出如何引用相同的正在運行的進程。

相關問題