我有一个Spring MVC应用程序,其中包含当前包含在单个JVM上的单个应用程序上下文中的所有内容。代码分为几个层,每个层只是拉动它依赖的层通过Maven依赖。这是我的图层的一个例子:
Spring MVC Layer - >服务层 - > DAO层
DAO层已经通过hibernate用JPA实现,并包含一些同步部分。
现在我正在实现Spring Batch,我希望它的服务层调用与来自Spring MVC层的调用位于相同的上下文/ JVM中,以充分利用JPA缓存和同步。
实现这一目标的最佳方法是什么?我是否将服务层转换为内部SOAP服务?服务层是否应拆分为单独的WAR?
非常感谢任何帮助/建议!
答案 0 :(得分:2)
将您的整个Spring批处理代码放入您的webapp。
从MVC应用程序上下文加载Spring Batch xml文件,您的Spring Batch bean将在webapp中提供。
然后,您可以使用webapp启动Spring批处理:它将执行到同一个JVM中。