【问题标题】:launch job from step in spring batch从春季批处理中的步骤启动作业
【发布时间】:2018-10-03 10:14:43
【问题描述】:

我正在尝试从一个步骤(实现接口 Tasklet 的类的 execute 方法)内部启动一个作业。

显然我收到了异常

java.lang.IllegalStateException:在 JobRepository 中检测到现有事务

如何使春季批处理步骤不具有事务性?

有没有人可以解决我从一个步骤中启动工作的主要需求?

提前感谢您的帮助!

【问题讨论】:

标签: spring spring-batch transactional


【解决方案1】:

如何使春季批处理步骤不具有事务性?

您可以在您的步骤上设置ResourcelessTransactionManager。将其视为 NoOp 事务管理器。

有没有人可以解决我从一个步骤中启动工作的主要需求?

JobStep 专为此用例而设计。这是一个Step 实现,它委托给Job

希望这会有所帮助。

【讨论】:

  • 谢谢你,马哈茂德!我试图通过注释配置为 tasklet 配置 NOT_SUPPORTED 事务传播:需要在我配置 spring 上下文的 xml 配置文件中执行此操作。
猜你喜欢
  • 1970-01-01
  • 2015-09-09
  • 2017-10-06
  • 2020-04-23
  • 2019-01-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多