当前位置: 首页 > 知识库问答 >
问题:

扩展Spring批处理元数据表模式

孙斌
2023-03-14

现在我的问题是

    < li >如何更改相应的Job和JobInstance JAVA类以及所有相关的CRUD以反映上述更改。我假设我需要扩展Job和JobInstance的新类,比如AppJob和AppJobInstance。还要扩展JobInstanceDao,比如AppJobInstanceDao。然后将其挂接到JPA存储库等。,我需要扩展JobRepositoryFactoryBean,主要是createJobInstanceDao()来返回我的新AppJobInstanceDao,它使用我的新类say AppJobInstance。我需要解决所有的细节问题,但是我想知道我是否在正确的方向上思考,或者我是否完全跑题了。 < li >除了所有与Java JobRepository相关的更改之外,还有哪些重要内容需要关注? < li >这真的是可行的解决方案还是完全错误的方法

听取Spring Batch项目专家的意见将是一件好事,因为这些意见将有助于我们在内部做出更为务实的决定,决定是否遵循这条路线,或者是否深入了解operations为什么认为使用表名前缀不是一个选项,以及可以采取什么措施。

共有1个答案

白泽语
2023-03-14

您已经可以从多个应用程序使用相同的 spring 批处理数据库表,只要作业名称是唯一的。每个应用程序都将包含自己的@Job Bean列表,这些bean是您创建的,应用程序可以管理(启动,停止,重新启动等),同时与其他应用程序共享相同的spring批处理数据库表。

Spring batch提供了一个job registry(https://docs . spring . io/spring-batch/docs/current/API/org/spring framework/batch/core/configuration/job registry . html),可以用来查看每个应用程序中存在哪些作业。它可以在启动时用您的@ Job beans填充

@Configuration
public class SpringBatchConfiguration {

     
    @Autowired
    private JobRegistry jobRegistry;

    // populate the jobRegistry with all @Job beans at startup   
    @Bean
    public JobRegistryBeanPostProcessor jobRegistryBeanPostProcessor() {
        JobRegistryBeanPostProcessor postProcessor = new JobRegistryBeanPostProcessor();
        postProcessor.setJobRegistry(jobRegistry);
        return postProcessor;
    }

    
}
 类似资料:
  • 我的应用程序中有一个连接到Oracle数据库的数据源。是否可以通过此数据源访问另一个包含Spring批处理元数据表的模式?此数据源的用户拥有访问其他架构的所有权限。 我已经尝试过JobRepository的“tablePrefix”属性,例如“Schema.batch\u0”。但它不起作用。简单地说,我搜索告诉Spring批处理访问元数据表的方法,如“select….from Schema.bat

  • 我使用Spring批处理从Oracle数据库读取数据并将结果写入CSV文件。 我还需要将spring批处理元数据表与oracle数据库分开,为此,我在批处理配置中配置了两个不同的数据源(spring批处理元数据的内存数据库)。 这是我的代码: 批处理配置。JAVA 然后我的itemReader bean看起来像: 当我运行批处理时,一切正常。 但是当我尝试在我的BatchApplication中添

  • 我在自己的oracle数据库中使用以下链接创建了spring批处理元数据表 https://github.com/spring-projects/spring-batch/tree/main/spring-batch-core/src/main/resources/org/springframework/batch/core 但是当我运行我的Spring批处理时,它会抛出错误: 目前我使用的是sp

  • 我正在编写Spring批的Spring Boot应用程序,其中ItemReader从Oracle数据库读取数据并将数据写入postgres sql,但我得到了以下错误 我不想创建spring批处理元数据表,我的应用程序不需要监视作业,请就此向我提出建议。提前谢谢!!

  • 有什么方法可以用spring batch实现这一点,或者我应该创建一个Dao并批量删除每个集合的旧数据。

  • 当springbatch试图获得到元数据表的连接时,我们的应用程序中会周期性地出现错误。似乎我们在某个地方或某种程度上存在泄漏,无法释放或关闭连接。 我正在寻找的是一些方法,当Spring Batch日志从池中获取连接时,释放连接回到池中,等等。然后我们可以试着确定漏洞在哪里。