- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个 JobExecutionListener.afterJob() 实现,它打印从所有先前步骤执行中获得的一些信息:
JobExecutionListener.beforeJob():
jobExecution.getExecutionContext().putString("key", "");
步骤1:StepExecutionListener.beforeStep():
ExecutionContext context = stepExecution.getJobExecution().getExecutionContext();
context.putString("key", context.getString("key") + "Hello");
步骤2:StepExecutionListener.beforeStep():
ExecutionContext context = stepExecution.getJobExecution().getExecutionContext();
context.putString("key", context.getString("key") + " World!");
JobExecutionListener.afterJob():
System.out.println(jobExecution.getExecutionContext().getString("key"));
// results in "Hello World!"
但是当执行这样的作业时,这些数据将被持久化(例如,在BATCH_JOB_EXECUTION_CONTEXT
表中)。如何避免这种情况?
最佳答案
使用外部 bean 保存要在步骤之间传递的数据;此外部 bean 未持久保存,您需要连接到 SB 工件或监听器。
关于java - Spring Batch : How to pass data from StepExecution to JobExecution without persisting it (that is, 不使用 ExecutionContext)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22810776/
我有一个编写器,其中有一个动态值,需要传递给 JobExecutionListener 的 afterJob(JobExecution jobExecution) 。希望得到一些建议。谢谢。
问题: 我正在为我的一种 Spring 批量工作方法编写单元测试。我使用mockito 来模拟我的批处理作业依赖项。在 jobExecution 发挥作用之前一切都很好。我想要测试的方法调用了 job
我有一个带有PreparedStatementSetter的Spring批处理,用于查询读取器步骤。我想从之前保存到 ExecutionContext 的PreparedStatementSetter
我目前正在从事 Spring Batch CSV 导出工作。使用基于Chunk的读取器、写入器、处理器。读取和处理工作完美,但 FlatFileItemWriter 始终覆盖输出 CSV 文件。我希望
Spring Batch JobExecution 类的 getAllFailureExceptions() 和 getFailureExceptions() 方法有什么区别?将作业异常记录到数据库的
我已经使用 SpringBatch 几个月了..我曾经将与执行相关的变量(如页数、项目数、批处理的当前位置等)存储到 Bean 中。然后使用 setVar()、getVar( )-setter 和 g
我尝试使用以下内容, List jobExecutions = getJdbcTemplate().query("SELECT JOB_EXECUTION_ID, START_TIME
我正在尝试在单个 tomcat 服务器实例中部署两个 war 。但它抛出错误。任何人都可以帮忙吗? PFB 错误日志。 19:39:28,294 ERROR pool-2-thread-1 conte
我有一个 JobExecutionListener.afterJob() 实现,它打印从所有先前步骤执行中获得的一些信息: JobExecutionListener.beforeJob(): jobE
我是一名优秀的程序员,十分优秀!