当前位置: 首页 > 面试题库 >

定义内存中的JobRepository

刘选
2023-03-14
问题内容

我正在使用Spring Boot测试Spring
Batch。我需要定义在Oracle数据库上工作的作业,但是我不想在此数据库中保存作业和步骤状态。我已经阅读了文档,可以将内存中的存储库与MapJobRepositoryFactoryBean一起使用。

然后,我实现了这个bean:

@Bean
    public JobRepository jobRepository() {
        MapJobRepositoryFactoryBean factoryBean = new MapJobRepositoryFactoryBean(new ResourcelessTransactionManager());
        try {
            JobRepository jobRepository = factoryBean.getObject();
            return jobRepository;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }

但是,当我开始工作时,Spring Batch要做的第一件事就是在Oracle
DB中创建表并继续使用Oracle数据源。好像没有考虑我的JobRepository定义。

我错过了什么 ?

编辑 :我正在使用Spring Boot 1.5.3和Spring Batch 3.0.7


问题答案:

使用SpringBoot 2.x,解决方案更加简单。

您必须DefaultBatchConfigurer像这样扩展类:

@Component
public class NoPersistenceBatchConfigurer extends DefaultBatchConfigurer {
    @Override
    public void setDataSource(DataSource dataSource) {
    }
}

如果没有数据源,框架将自动切换为使用MapJobRepository



 类似资料:
  • 问题内容: 我正在使用Spring Boot测试Spring Batch。我需要定义在Oracle数据库上工作的作业,但是我不想在此数据库中保存作业和步骤状态。我已经阅读了文档,可以将内存中的存储库与MapJobRepositoryFactoryBean一起使用。 然后,我实现了这个bean: 但是,当我开始工作时,Spring Batch要做的第一件事就是在Oracle DB中创建表并继续使用O

  • 4.4 复合内存变量的定义 上节,我们介绍了汇编语言中六个最基本的数据类型,这些数据类型能满足程序设计中绝大多数情况的需要,但也存在需要更复杂的数据类型的情况。 下面介绍汇编语言所提供的三种复合数据类型的说明形式。 4.4.1 重复说明符DUP 从前面的内容里,我们知道了定义少量内存变量的定义形式,但如果在程序中要说明50个、100个、200个甚至更多的、同类型的内存变量时,若采用前面所学的方法,

  • 分配内存并不总是最简单的事情,同时通常 Rust 默认会负责它,不过经常自定义内存分配会变得必要。编译器和标准库目前允许在编译时切换目前默认使用的全局分配器。设计目前称作RFC 1183不过这里我们会教你如何获取你自己的分配器并运行起来。 默认分配器 编译器目前自带两个默认分配器:alloc_system和alloc_jemalloc(然而一些目标平台并没有 jemalloc)。这些分配器是正常的

  • 如果你需要提供自定义文件存储 – 一个普遍的例子是在某个远程系统上储存文件 – 你可以通过定义一个自定义的储存类来实现。你需要遵循以下步骤: 1. 你的自定义储存类必须是django.core.files.storage.Storage的子类: from django.core.files.storage import Storage class MyStorage(Storage):

  • 我使用的是spring Boot2.1.6,Release and swagger 2.9.2,除了我想简化内容之外,一切都很好。 首先,我想删除标题下的: 而且,我希望和在访问时打开,直到我单击名称。

  • 问题内容: 尽管我在权限块中设置了选项卡,但仍返回未定义。 但是在myScript.js中,以下返回未定义。 问题答案: 由于内容脚本有其自身的局限性, 仅在后台脚本和弹出脚本中可用。 如果您想使用,则将消息从content_script传递到后台脚本并使用。