问题标签 [spring-batch-job-monitoring]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring-batch - 搜索实际运行的 spring 批处理作业
我试图找到如何确定JobExecution
从获取JobExplorer
是否实际运行的方法。问题是资源管理器通过运行 jdbc 查询来检查作业执行。但是在某些情况下(例如,带有 Spring Batch 作业的容器被杀死/重新启动)作业仍然以运行状态持续存在于数据库中,尽管它们是孤立的并且在运行时实际上没有运行任何处理。
和简单的方法,如
没有按预期工作。
有没有办法找到真正活跃的工作?提前致谢
spring - 未找到表“BATCH_JOB_INSTANCE”:org.h2.jdbc.JdbcSQLException
我正在尝试使用嵌入式 h2 db 运行我的应用程序。
我收到以下错误:
我已经尝试过:
- 从 .m2 本地文件夹中删除 h2 存储库并重新导入并重新安装 - 不成功。
- 我还尝试使用以下内容配置属性文件:
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.url=jdbc:h2:mem:testdb
spring.jpa.hibernate.ddl-auto=创建
spring.jpa.show-sql=true
spring.h2.console.enabled=true
有什么建议么?
谢谢!
spring-batch - 在 Spring Batch 作业中使用 Java ProcessBuilder - Tasklet
我正在尝试使用 Java ProcessBuilder 执行带有参数的终端命令。此代码是在作为作业的一部分执行的 Java Spring Batch Tasklet 中编写的。
尽管使用下面的代码正确初始化了它,但当进程构建器尝试读取我的命令参数时,我收到了一个空指针异常。这很奇怪,似乎我缺少一些基本的东西。
使用 Process Builder 的代码
这是显示错误的地方:
上面的代码片段来自 ProcessBuilder 类。有谁知道出了什么问题?
spring - Spring Batch 应用程序 - 在调用 Spring Boot 应用程序时获取空指针应用程序
我有 BatchConfiguration 、 OrderProcesser 和 OrderReader 类文件。当我调用 Spring Boot 休息服务时,它给出了 NullPointerException。但是,当我在 Postman 中运行 SpringBoot 应用程序时,它会显示适当的结果。另外,我想知道哪个步骤使它运行多次,以便 billerOrderId 多次执行。我使用https://spring.io/guides/gs/batch-processing/来编写我的代码。
这是错误。
java - Spring-Batch 跳过异常如何适用于复合编写器
我正在使用 Spring Batch,我的步骤配置如下:
我的复合项目作家
现在,如果 writer1 上存在 DataIntegrityViolationException,则会在我进行日志记录的地方调用我的跳过侦听器,然后控制进入下一步
我正在寻找一种将控制权转移到当前被跳过的下一个作家的方式
java - Spring Batch - 管理器中的远程分区 - 工作环境 - CSV 文件
我有一个要求,我需要处理存储在目录/GCP 中的 400 多个 CSV 文件(每个 100 到 500MB)。
对于每个文件,我需要从 DB 获取有效帐号并将它们保存在内存中,根据内存中的数据验证文件的每一行并将有效记录写入另一个 CSV 文件(列格式更改)并将生成的文件导出到 AWS。将来,希望支持来自 MQ 的请求,并且流程保持不变。
要求是在分布式系统中实现这一点。
我计划使用 Spring Batch 来满足这个要求,但是我无法找到使用不同系统作为 Manager - Worker 进行远程分区的好的示例/代码。我想了解如何配置 Manager、Worker、如何启动它们并将文件元数据作为请求和响应传递。
我得到了单个 JVM 上的分区示例,因此仅使用示例代码寻找 Manager-Worker 示例。
任何建议/参考将不胜感激,并提前致谢。
spring - 春季批处理执行,如何避免使用FlatFileItemWriter记录异常的文件名为空
我正在使用带有读取器、写入器和处理器的 spring 批处理应用程序。文件名从批处理作业传递到 stepscope 中的写入器。初始化 bean 时,我可以在 BATCH_STEP_EXECUTION 表中看到异常,如下所示
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'scopedTarget.resWriter' defined in class path resource : Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.batch.item.file.FlatFileItemWriter]: Factory method 'resWriter' threw exception; nested exception is java.lang.IllegalArgumentException: Path must not be null
春季批处理代码
我已经尝试过@Lazy 注释,但当服务器启动时它仍然会抛出该异常。我正在使用多节点集群,它在服务器出现在 BATCH_STEP_EXECUTION 表中时为每个节点添加条目。如何在服务器首次启动时避免此异常?
java - 如何在春季批处理中创建动态多个作业
我已经创建了多个作业,并且我在一个循环中运行多个作业,我要求按顺序运行这些作业,但是所有步骤的项目阅读器都在运行,然后所有作业的项目编写器都在按顺序运行,是否有任何解决方案,以便当作业的项目阅读器和项目编写器完成,然后控制转到另一个作业。
示例代码如下:
spring - 如何限制spring集成只读取特定的目录路径?
目前,我正在使用 FileReadingMessageSource 使用 Spring Integration 从特定目录读取文件。
问题,我面临的是上面的配置能够从临时文件夹以及临时文件夹中的其他文件夹中读取文件。例如 - 如果我在 temp/csvfolder 之类的临时文件夹中创建一个文件夹,并将 csv 文件放在 csvfolder 中,它仍然能够轮询文件。
我们可以将其限制为仅特定文件夹吗?
spring-boot - 如何在春季批处理中停止服务
按照标题,我有一个使用 Spring Batch 在后端运行的服务。
我的服务:
我的小任务:
我试图停止工作:
作业已停止,但在我的控制台中仍然输出文本:
我不知道如何停止TestBatch
-testDelay()
工作停止时的方法。我该怎么做?