1

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

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

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

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

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

任何帮助/建议将不胜感激!

4

1 回答 1

2

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

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

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

于 2012-07-27T07:48:11.870 回答