【问题标题】:Sharing Spring app context between MVC WAR and Batch Jar在 MVC WAR 和 Batch Jar 之间共享 Spring 应用程序上下文
【发布时间】:2012-07-18 03:02:36
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

    • 这是我最终采用的方法。感谢您的回答,对于延迟接受它,我深表歉意。
    • 可以添加一些示例代码吗?我发现 Spring Batch 总是从 jsrBaseContext.xml 加载它的 bean,因此不会使用 Spring MVC 的 applicationContext.xml 中的 bean。
    猜你喜欢
    • 1970-01-01
    • 2017-08-17
    • 1970-01-01
    • 2013-04-16
    • 1970-01-01
    • 1970-01-01
    • 2012-12-16
    • 2011-08-29
    • 1970-01-01
    相关资源
    最近更新 更多