首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >spring batch中的XA事务

spring batch中的XA事务
EN

Stack Overflow用户
提问于 2020-05-20 06:47:57
回答 1查看 96关注 0票数 0

我正在尝试在春季批处理作业中提交jms和数据库事务。我假设spring batch事务是xa事务。但在我的项目写入器中,即使jms事务出错,数据库事务也在提交。如果我遗漏了什么,谁能帮帮我?我需要在spring batch中为XA使用第三方库吗?

EN

回答 1

Stack Overflow用户

发布于 2020-05-21 11:06:32

我实际上是故意抛出异常来测试事务回滚。现在,即使没有任何jms事务,只有一个数据库事务正在提交,即使从项抛出异常,writer.Below是编写器中的方法,它将保存到数据库中。compEvent对象是注入到该类中的jpa仓库。

代码语言:javascript
复制
private void writeCEs(Map<TrueEvent, List<Event>> agentMap)
        throws FailedCompensationException, Exception {
    for (Entry<TrueEvent, List<Event>> agent : agentMap.entrySet()) {
        agent.getValue().stream().forEach((ce) -> {
            compEvent.save(ce);
        });
        updateRecordFileStatus(agent.getKey());
        //postToAccounting(agent.getKey(), agent.getValue());
    }
    throw new Exception("Testing XA roolback.... ");
}

下面是我的批量配置

@EnableBatchProcessing @EnableTransactionManagement @Configuration @ComponentScan({“com..*”})

公共类TrueBatchConfig扩展了DefaultBatchConfigurer {

代码语言:javascript
复制
@Autowired
private JobBuilderFactory jobs;

@Autowired
private StepBuilderFactory steps;

@Autowired
EventReader reader;

@Autowired
private EventProcessor processor;

@Autowired
private EventWriter writer;

@Bean
protected Step step1(ThreadPoolTaskExecutor executor) {
    DefaultTransactionAttribute attribute = new DefaultTransactionAttribute();
    attribute.setPropagationBehavior(Propagation.REQUIRED.value());
    attribute.setIsolationLevel(Isolation.DEFAULT.value());     
    attribute.setTimeout(30);

    return steps.get("step1").<List<TrueEvent>, Map<TrueUpEvent, List<Event>>>chunk(10).reader(reader)
            .processor(processor).writer(writer).transactionAttribute(attribute).build();
}

@Bean(name = "firstBatchJob")
public Job job(@Qualifier("step1") Step step1) {
    return jobs.get("firstBatchJob").start(step1).build();
}

}

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

https://stackoverflow.com/questions/61902080

复制
相关文章

相似问题

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