我有一个EAR文件,该文件的主应用程序(普通UI和JEE持久性)和Spring Batch Admin 1.3.0有1个URL。我们正在将技术更新为Spring Boot,Spring 5,Spring Data / JPA,Spring Batch 4和war文件部署。到目前为止,到目前为止,我们已经到了集成Spring Batch Admin的地步,我对最佳方法有些困惑。有很多问题和方法,我试图在两者之间进行选择。
就Spring Batch Admin而言,我们已经为业务领域进行了一些自定义,因此希望保留使用freemarker方法而不是切换到Angular。因此,我从代码here开始。第一步是更新Spring 5 / Batch 4的代码,然后添加我们的自定义内容,
最后,我想尝试将Spring Batch Admin UI添加到war文件中。我将修改后的Spring Batch Admin jar文件添加到war文件的pom.xml中。大部分spring配置已迁移到java config。但是,所有作业仍在XML文件中。我将data-source-context.xml(从JNDI加载)放置在META-INF覆盖目录中(如Spring Batch Admin所期望的那样。我发现与SBA和dataSource加载的“ dataSource”和“ transactionManager”发生冲突)和我在应用程序中定义的transactionManger(用于Spring Data / JPA)。
处理这种情况的最佳方法是什么?理想情况下,SBA管理员只需使用已经定义的spring组件。删除@EnableBatchAdmin并在我的配置类中处理SBA资源导入?
更新: 我遵循了讨论的here的方法,并且看到系统启动和UI显示。现在,我正在尝试加载作业xml文件。我已经生成了一个用于生成春季批管理实体的java配置。
现在,当我加载作业xml文件时,我看到错误,因为它找不到在Java配置中定义的bean。我以为java和xml配置可以在同一个项目中共存,并且互相引用spring bean。
有想法吗?
答案 0 :(得分:0)
Spring Batch Admin不再维护。由于您要迁移到Spring Boot,Spring Framework 5和Spring Batch 4,因此我建议您趁此机会将作业模块化为Spring Boot应用程序(可以通过XML或Java配置来实现)并在{{ 3}}。
您可以在此处找到从Spring Batch Admin到Spring Cloud DataFlow的迁移指南:Spring Cloud DataFlow