在MVC WAR和Batch Jar之间共享Spring应用程序上下文

时间:2012-07-19 00:09:41

标签: java spring jpa spring-mvc spring-batch

我有一个Spring MVC应用程序,其中包含当前包含在单个JVM上的单个应用程序上下文中的所有内容。代码分为几个层,每个层只是拉动它依赖的层通过Maven依赖。这是我的图层的一个例子:

Spring MVC Layer - >服务层 - > DAO层

DAO层已经通过hibernate用JPA实现,并包含一些同步部分。

现在我正在实现Spring Batch,我希望它的服务层调用与来自Spring MVC层的调用位于相同的上下文/ JVM中,以充分利用JPA缓存和同步。

实现这一目标的最佳方法是什么?我是否将服务层转换为内部SOAP服务?服务层是否应拆分为单独的WAR?

非常感谢任何帮助/建议!

1 个答案:

答案 0 :(得分:2)

将您的整个Spring批处理代码放入您的webapp。

从MVC应用程序上下文加载Spring Batch xml文件,您的Spring Batch bean将在webapp中提供。

然后,您可以使用webapp启动Spring批处理:它将执行到同一个JVM中。