美文网首页
SpringBatch外部事物包裹问题

SpringBatch外部事物包裹问题

作者: 矮子阿冰 | 来源:发表于2019-04-16 18:31 被阅读0次

    在springbatch的job注册配置里有个validateTransactionState的配置项,官方默认为true。校验job完成是否有事物包裹。

    官方建议不要设置false,如果设置为true,如果启动时job外层包裹事物,则会报错误无法启动,设置为false可以启动。

    以下是外部包裹事物,且设置校验参数为false 遇到的bug情况之一。(不听老人言吃亏在眼前)

    在step中会执行chunk,每个chunk会通过semaphore共享锁来控制事物,采用同步来处理每个chunk

    在chunk单个事物提交时会释放锁

    这是正常流程。但是如果外部包裹了事物,会让第一个chunk完成事无法提交事物让锁无法释放,后续的chunk来了,就需要等待资源,导致job一直等待。导致外部事物整体无法提交。

    所以最好还是挺官方的劝不要再job外部包裹事物。

    相关文章

      网友评论

          本文标题:SpringBatch外部事物包裹问题

          本文链接:https://www.haomeiwen.com/subject/rpkyiftx.html