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

如何在分区器中访问步骤执行

邢嘉祯
2023-03-14

我们使用的是partitioner,它用@Scope(value=“step”)注释,还有setter方法,用@beforstep注释,但framewowrk仍然没有注入step执行对象?

我们做错了什么

共有1个答案

徐学潞
2023-03-14

您是否在步骤中将分区程序注册为侦听器?一旦您使用步骤范围,您的Bean就隐藏在代理后面,这使得Spring无法将其自动注册为步骤侦听器(如果您的Bean没有“步骤范围”,它应该可以工作)。

这里解释一下:Spring批处理@Beforestep不适用于@StepScope

 类似资料:
  • 是否有方法访问分区步骤中定义为JobScope的bean? 我们将http客户端bean定义为JobScope,因为每个作业都是唯一的,但它是动态创建的,我们需要在从属步骤中使用它来发出post请求。当我们自动连线我们得到的一切 这里是作业配置类(我删除了所有不需要的内容,只剩下分区步骤和客户机类的配置,它们位于作业范围中,因为在每次作业运行时都需要特定于作业: 下面是CaptureerStock

  • 我正在开发一个Spring批处理作业,它使用MultiResourcePartitioner并行处理多个输入文件。在ItemProcessor中,我需要获取当前输入文件中的记录数。我从步骤上下文中获取当前文件名,并读取文件中的行数: 这一切似乎工作,但我得到例外时,从处理器线程访问步骤上下文: 有没有办法从分区作业的处理器获取当前输入文件名? 下面是相关配置:

  • 问题内容: 我想在Django中创建一个多步骤表单,该表单仅在所有步骤结束时提交要处理的数据。每个步骤都必须能够访问和显示我们在先前步骤中输入的数据。 有没有办法用Django做到这一点?Django的Form-Wizard无法处理此基本功能。 问题答案: 当然,在Django中有一种方法可以做到这一点。 一种方法是保持会话中的值,直到最后提交它们。如果返回上一步,则可以使用会话中保留的值填充表单

  • 使用Spring Batch 3.0.4.Release。 我将作业配置为使用分区步骤。从机步骤使用块大小1。任务执行器中有六个线程。我使用从六到数百的各种网格大小来运行这个测试。我的网格大小是从StepExecutions的数量,我希望==我的分区器创建的ExecutionContexts的数量。 下面是Java配置代码:

  • 我需要一些帮助来了解spark如何决定分区的数量,以及它们在executors中是如何处理的,我很抱歉这个问题,因为我知道这是一个重复的问题,但即使在阅读了许多文章后,我仍然不能理解我正在放上一个我目前正在工作的真实生活用例,以及我的Spark提交配置和集群配置。 我的硬件配置: < code>3节点计算机,总Vcores=30,总内存=320 GB。 我正在使用spark dataframe J

  • 我正在运行一个带有分区步骤的Spring批处理作业,如果其中一个分区失败或抛出异常,我需要立即停止作业,如何停止作业,一旦任何一个分区步骤抛出异常,因为目前其他分区步骤一直运行到结束,在它们完成后,作业停止,返回代码不成功。 代码::stepBuilderFactory.get(“masterStep”).AllowStartifComplete(true).Partitioner(multith