2012-07-19 100 views
1

我有一個Spring MVC應用程序,當前包含在單個JVM上的單個應用程序上下文中。代碼被分成幾個層,每個層只是通過Maven依賴關係拉取它所依賴的層。這是我的層的一個示例:在MVC WAR和Batch Jar之間共享Spring應用上下文

Spring MVC的層 - >服務層 - > DAO層

DAO層已經通過休眠實施JPA和包含一些同步部分。

現在我正在實現Spring Batch,我希望它的服務層調用與來自Spring MVC層的調用處於相同的上下文/ JVM中,以充分利用JPA緩存和同步化。

完成此操作的最佳方法是什麼?我是否將服務層轉換爲內部SOAP服務?服務層應該分成單獨的WAR嗎?

任何幫助/意見將不勝感激!

回答

2

把你的整個Spring批處理代碼放到你的webapp中。

從您的MVC應用程序上下文加載您的Spring Batch xml文件,並且您的Spring Batch bean將在Web應用程序中可用。

然後你可以用你的webapp啓動你的Spring批處理:它會執行到同一個JVM中。

+0

這是我最終選擇的方法。謝謝你的回答,我對接受它的延遲表示歉意。 – gimliclc 2012-12-03 08:40:31

+0

是否可以添加一些示例代碼?我發現Spring Batch總是從'jsrBaseContext.xml'加載bean,所以不會在Spring MVC的applicationContext.xml中使用bean。 – mrgrumpy22 2018-01-17 10:53:30

相關問題