2012-04-28 30 views
0

我想與另一個grails應用程序共享我的grails應用程序(Grails域類和服務)的數據訪問部分。一個是面向Web應用程序的標準客戶端,另一個(尚未編寫)將用於週期性後臺任務,例如提醒電子郵件等,使用Quartz插件或類似的界面,UI將僅用於內部用戶的統計/控制。如何在多個Grails應用程序之間共享數據訪問層(服務和域類)

我不希望所有這些都捆綁在一個Grails應用程序中,因爲我希望能夠擴展它們並在不同的機器上運行它們。什麼是正確的方法來做到這一點?過去,我通過將共享數據訪問類捆綁到一個.jar文件中並將它們包括在多個應用程序所需的位置中,從而在更多傳統Java Web應用程序中實現了這一點,但我不確定這是否適合Grails。

我已經考慮了一個全面的面向服務的體系結構,其中第三個grails應用程序負責所有數據訪問,並且這兩個描述通過對此服務應用程序的REST調用完成所有數據訪問,但這超出了因爲面向webapp的客戶端已經寫好了。

回答

4

通常這是通過插件完成的。創建您想要在應用程序之間共享的域類,服務,控制器甚至默認gsp,並將它們創建爲插件。這樣,您可以將它們安裝在任何需要該行爲的Grails應用程序中。

我曾與一些通用會計類型的行爲是相當普遍的應用我寫這樣應收帳款,應付帳款中,等做到了這一點

一個偉大的事情是,你可以與測試分開來寫插件和測試數據源,然後當您將其安裝到Grails應用程序中時,它將使用應用程序數據源。它將有默認的gsp和控制器,爲您提供一組基本的行爲,您可以在實際應用中重寫該行爲。

+0

沒有想到,有道理,會放棄它。 – Peter 2012-04-29 00:41:16

相關問題