首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring Batch元数据数据库事务问题

Spring Batch元数据数据库事务问题
EN

Stack Overflow用户
提问于 2019-11-06 18:38:44
回答 1查看 135关注 0票数 0

我使用的是Spring Batch (4.1.2版)。问题如下:

1/批处理作业是面向步骤的(2个步骤),第一步从oracle数据库加载数据(客户订单-唯一的少量数据),过滤它们以进行进一步处理,并将结果存储到内存对象中(orderNo -即在第二步中处理此订单)

2/第二步从内存中获取这些过滤后的数据并对其进行处理-加载数据(现在是全量数据、全订单)并处理它们-在oracle中启动存储过程,然后调用一些外部web服务。

第一步非常快--近似。5秒。

第二步非常慢-对于每个客户订单,它需要大约。10秒

典型的数据大小:第一步加载数千个订单,并过滤大约。100-300个订单,以便在第二步中进一步处理。

第一步的配置: 100个订单

第二步的配置: chunk =1

问题是:如果第二步(调用web服务)失败,元数据数据库事务就会因为超时而失败。或者,如果作业完成正常,元数据数据库将再次失败并出现超时。为什么?事务超时设置为30秒。在我看来,元数据数据库的事务不受块配置的影响。

注:订单数据库: oracle,元数据库: postgresql

有什么建议,解决方案,等等,谢谢?

EN

回答 1

Stack Overflow用户

发布于 2019-11-07 20:44:30

@事务性(传播= Propagation.REQUIRES_NEW)

关于ItemProcessor方法

O进程(I var1)抛出异常;

是问题的解决方案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58728192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档