首页 文章
  • 2 votes
     answers
     views

    自定义ItemReader与spring-data-jpa

    我正在使用现有实体和存储库创建Spring批处理项目 . 我需要使用自定义 ItemReader 作为使用现有jpa存储库读取数据的作业 . 定制读者 public class InMemoryReader implements ItemReader<Product> { @Autowired private ProductService productService...
  • 3 votes
     answers
     views

    使用castor unmarshalling的NoClassDefFoundError

    我在Spring Batch中使用Castor来解析XML,这是一个非常奇怪的NoClassDefFoundError . 在我展示其他内容之前,这是堆栈跟踪: java.lang.NoClassDefFoundError: com/example/test/STLTRANSACTIONINFO (wrong name: com/example/test/StlTransactionInfo) a...
  • 1 votes
     answers
     views

    在Spring Integration中对出站适配器的发送操作进行批处理

    在Spring Integration流程结束时,我有一个出站通道适配器(在这种情况下是SFTP,但它对于JMS或WS来说是相同的) . 通过每次有消息传递时使用直接通道,它将同步发送出去 . 现在,我需要一直处理消息,直到它们到达出站适配器,但在发送之前等待预定的时间间隔 . 换句话说,批处理发送操作 . 我知道Spring Batch项目可能会为此提供解决方案,但我需要找到一个使用Spring...
  • 1 votes
     answers
     views

    spring 整合提高性能

    我一直在运行一个程序来读取一个包含600万行的文件并验证每一行并将包含验证消息的字符串写入输出文件 . 我使用 spring 集成来实现这一点,以及使用 spring 批量集成适配器从 spring 集成中调用 spring 批量 . 从 spring 集成调用的Spring批次在47s完成,而完全在spring集成中完成的处理需要接近3分钟 . 我的目标是确定改进 spring 集成代码的方法,...
  • 14 votes
     answers
     views

    Spring Batch异步处理器配置可获得最佳性能

    我在Spring Batch中创建异步处理器时遇到问题 . 我的处理器从 reader 获取 ID 并根据 SOAP 调用的响应创建对象 . 有时1输入( ID )必须有例如60-100 SOAP 调用,有时只是1.我试图制作多线程步骤,它正在处理例如50个输入,但它没用,因为49个线程在1秒内完成了他们的工作并被阻止,等待这个正在做60- 100 SOAP 来电 . 现在我使用 AsyncI...
  • -2 votes
     answers
     views

    Reg Spring批量交易

    我的要求是我需要将两个数据源连接到Spring Batch Application .1)一个用于Spring Batch Jobs and Executions存储2)一个用于业务数据Stroing,Processing和Retreiving .我知道有很多解决方案可以实现这一目标 . 但我通过将第二个数据源设置为主数据来实现 . 问题是第二个数据源不在事务范围内,而是提交每个sql语句,特别是...
  • 0 votes
     answers
     views

    如何在job.xml文件中为chunk配置Spring Batch RetryPolicy

    我配置如下 . 但是获得例外(见下文),请帮助 . 这样做的目的是实现重启失败的步骤 . ======================================== retryPolicyJob.xml <batch:job id="retryPolicyJob" job-repository="jobRepository"> &l...
  • 0 votes
     answers
     views

    StaxEventItemWriter错误 - org.springframework.batch.item.ItemStreamException:文件已存在:

    我试图创建一个springboot批处理作业,它必须从队列中读取数据,并写入xml格式 . 我正在使用 StaxEventItemWriter 进行写入,并且在运行应用程序时出现以下错误 . 我坚信错误发生在itemwriter部分,因为使用相同的阅读器,我可以使用Filefileitemwriter写入平面文件 . 我无法找出我做错了什么 . 我真的很高兴你的帮助 . [org.springf...
  • 0 votes
     answers
     views

    Spring Batch在执行上下文中的作业附加常见批处理步骤,其名称包含“abc”[关闭]

    我想知道是否有办法巩固一个常见的 spring 批处理步骤,该步骤在我的大多数批处理作业结束时执行 . 我知道抽象工作,但它只允许我在前面添加步骤 . 我想看看是否有任何简单的方法,我做一些花哨的ApllicationContextAware,然后提取所有批处理作业,并为所有这些工作添加共同的步骤 . 希望有更好的方法 .
  • 0 votes
     answers
     views

    尝试重新启动spring批处理作业时出现NoSuchJobException

    我正在通过 CommandLineRunner 运行一个 Spring 季批处理作业 . 我希望我的工作运行的方式是每次运行创建一个新的 JobInstance 如果 jobExecution 无法完成,我将使用 --restart 参数重新运行该作业,它应该找到上一次执行并恢复 jobExecution 而不是创建一个新的 jobInstance . 下面是我的JobConfig类 . @Sl...
  • 1 votes
     answers
     views

    为什么Spring Batch预定作业只运行一次,尽管调度程序运行并且作业监听器说每次运行都完成

    我已经安排了Spring Batch(RESTReader,自定义处理器和自定义ItemWriter) . Spring Batch工作正常 . 调度似乎工作,因为侦听器打印每个计划间隔完成的作业,但似乎不读或写 . 我的Sprint启动应用程序 @EnableScheduling @SpringBootApplication public class BatchAppl...
  • 0 votes
     answers
     views

    即使步骤完成,使用FlowBuilder的Spring Batch作业也会失败

    我有一个Spring批处理作业,它成功完成了这些步骤,但将整个批处理作业状态标记为Failed . 这项工作有两个步骤 . 第一步验证输入文件并为我们正在处理的文件类型设置变量 . 使用Tasklet和JobExecutionDecider会发生这种情况 . 然后,流构建器决定何时执行步骤2的步骤 . 一切运行正常,每一步都完成,但整体批处理状态设置为FAILED而不是COMPLETED . 如果...
  • 1 votes
     answers
     views

    Spring-boot - 如何按计划重新启动作业

    我正在使用spring-batch-2.2.5开发一个spring-boot应用程序 . - 一个简单的应用程序 - 从db读取项目并写入文件 . 运行应用程序时遇到两个问题: 作业运行良好一次,但第二次(经过60秒的固定延迟后)似乎运行,但表示步骤状态为已完成 . 第二个问题,是我随机获取WriterNotOpenException:Writer必须先打开才能写入 . 这在第一次运行时...
  • 0 votes
     answers
     views

    spring 批处理器中打开的连接太多

    我是Spring批处理的新手,我的工作中的处理器使用JPA实体管理器和存储库在spring的@transactional范围内获取数据 . 对于处理器中处理的每条记录,似乎是从我的连接池打开和关闭了这么多连接 . 遗憾的是,无法从方法中删除事务范围,因为其他应用程序也使用相同的代码 . 有没有更好的方法来处理连接池中的连接?
  • 1 votes
     answers
     views

    在Spring Batch服务类中获取数据库连接

    我有几种情况需要连接到Spring Batch服务类中的已配置数据库,例如在处理器或自定义编写器中 . 我可以将数据源注入我的类,但我想获得它的连接 . 开箱即用的Spring Batch数据库读取器和编写器自动获得连接,因此我想使用它而不是编写自己的连接代码 . 因此在作者示例中说我的类使用ItemWriterAdapter并且在其中我需要进行查询 . 如何获取与已配置数据源的已 Build 连...
  • 3 votes
     answers
     views

    Spring批处理和作业调度

    我们的团队目前运行了许多我们从过去的团队继承的预定工作,这不是很多工作,但足以让人难以跟踪 . 我们当前设置面临的主要问题是: - 无法清楚地了解运行和运行的时间 - 通知作业失败的不同方式 - 并非所有作业都支持重新运行,因为重新运行是否有效或运行良好事情变得更糟 为此,我们一直在寻找使用Spring Batch重写我们的工作并使用SOS Job Scheduler来管理它们 . 有没有其他人使...
  • 1 votes
     answers
     views

    如何实现Spring Batch的读卡器?

    我英语说的不好 . 请指出是否有一个奇怪的句子 . 我有一个问题 . 那就是如何为CSV文件和数据库实现两个输入的ItemReader . Spring Batch有JdbcCursorItemReader和FlatFileItemReader,但每个类只使用一个输入Item . 我希望实现使用ItemReader或其他类的两个输入 . 这不是应该由Spring Batch实现的吗?如果它不好,...
  • 1 votes
     answers
     views

    Spring Batch:不重启已经完成的步骤

    在Spring Batch中重新启动作业时,它不应重新启动已完成的步骤 . 但同样的事情并没有发生在我的情况下 . 在下面的代码片段中,myTasklet2依赖于myTasklet1 . 而这两个和myTasklet3并行运行 . 在第一次运行中,myTasklet1失败,因此myTasklet2也失败了 . 但myTasklet3成功了 . 当我再次运行作业时,它应该只运行myTasklet1和...
  • 2 votes
     answers
     views

    从Spring批处理中的另一个xml导入Job

    我有两个xmls,它有两个独立的Spring批处理作业 . 我想从第一个job steplistener(Bean名称“extractStepListener”)调用第二个作业 . 我已经在我的第一个(extract.xml)中导入了第二个(transform.xml),以便我可以引用该作业 . 当我尝试部署它时,我得到一个重复的作业例外 . 如果我在一个xml文件中定义了所有作业,它可以正常工作...
  • 1 votes
     answers
     views

    Spring Batch暂停并重新启动作业

    有没有办法让Spring Batch中的同一点停止并恢复工作? (动态不静态) 也许推出一项可以阻止现有工作的新工作?有没有人做过类似的事情?
  • 1 votes
     answers
     views

    当使用modular = true配置时,作业在SpringBatch中调用两次

    我正在尝试使用Spring Batch进行工作 . 我在两个独立的配置中有两个作业tempJob和tempJob2 . 当尝试使用命令行参数(-Dspring.batch.job.names = tempJob)运行tempJob时,SpringBatch尝试运行tempJob两次,我得到以下错误 2018-06-15 11:36:37.956 INFO 14436 --- [main] osb...
  • 0 votes
     answers
     views

    在Spring Batch中创建作业之间依赖关系的可能方法

    Spring 季批量我有几个工作 . 第一个作业是一种验证作业,它运行一些数据库查询并知道其他作业应该运行 . 但是如何将这些知识传递给他们应该运行或异常的剩余工作? 在这种情况下,最好的方法是什么? 我能想到的一种方法是创建一个标志文件(unix touch命令),它将指示要运行的其他作业 . 最终作业将在下一天运行的最后一步中删除该文件 . 这是正确的方法吗?如果是,如何从tasklet内部运...
  • 1 votes
     answers
     views

    Spring Batch Late Binding - 步骤范围或工作范围?

    我正在使用Spring Batch开发一个项目 . 在这个项目中,我使用Spring Batch后期绑定,其中我使用 JobParameters 注入了一个参数(一个将用作SQL阅读器查询条件的字符串) . 目前,我正在使用 @StepScope 进行后期绑定,一切正常 . 我在这里要问的是何时使用 @StepScope 以及何时使用 @JobScope . 我用Google搜索了关于StepS...
  • 0 votes
     answers
     views

    在Spring Batch上分配数据中间作业

    我想在spring数据中创建一个应该包含两个步骤的作业: 步骤1 - 第一步从数据库中读取某些事务,并生成将通过jobContext属性发送到第2步的记录ID列表 . 步骤2 - 这应该是一个分区步骤:应根据从步骤1获得的列表对每个从属步骤进行分区(每个线程从列表中获取不同的Id)并执行其读取/处理/写入操作,而不会相互干扰 . 我的问题是,即使我想根据步骤1生成的列表对数据进行分区,spri...
  • 0 votes
     answers
     views

    并行运行作业实例的Spring批处理作业范围问题

    我正在使用Spring批处理4并且有一个包含一个tasklet的4个步骤的作业定义 . 定义的作业范围bean很少 . 我的理解是作业范围的bean对于作业实例是唯一的 . 使用每次运行唯一的作业参数调用作业 . 现在问题是在一个作业实例中创建的作业范围bean进入另一个作业实例 . 场景是第一个tasklet创建一个具有作业范围的bean,并且可以在另一个tasklet中访问它 . 当调用多个作...
  • 6 votes
     answers
     views

    使用2个不同的数据源:Spring批处理

    我有两个不同的 datasources ,一个读取,另一个写下面的结果: ItemReader应该从dataSource_1获取数据 . ItemWriter应该将数据写入dataSource_2 . 知道读者和作者在同一个tasklet中 . 根据文档,我们可以在tasklet上配置单个事务管理器 在这种情况下,我如何在这里使用事务管理器? 我不能依赖容器,我不使用ORM层(JPA ...
  • 0 votes
     answers
     views

    将大量数据存储在Spring批处理的Chunk Level中

    我是Spring的新手,我对Spring知之甚少,请帮我解决这个问题 . 我的用例是:我们使用Spring批处理,以chunk为导向的处理来处理数据 . 在每个已处理的块的末尾(即,一旦满足提交间隔并将值传递给writer),就必须存储值列表,以便在完成整个tasklet后,必须使用存储的值列表进行写入csv文件的值 . 如果块处理中发生任何作业失败,则不应将值列表写入文件 . 有没有办法将大量数...
  • 4 votes
     answers
     views

    Spring Batch Item Reader只执行一次

    试图实现Spring批处理,但遇到一个奇怪的问题,我们的 ItemReader 类只执行一次 . 以下是详细信息 . 如果我们在DB中有1000行 . 我们的Item阅读器从DB中获取1000行,并将列表传递给ItemWriter ItemWriter成功删除所有项目 . 现在,ItemReader再次尝试从DB获取数据,但没有找到,因此返回NULL,因此执行停止 . 但是我们已经配置批处理以使...
  • 0 votes
     answers
     views

    Spring Batch如何将用户数据重组/聚合为单个对象

    我试图将用户操作(如追踪)转换为用户摘要类(用户费用) . 用户可以有多个操作但只有一个摘要 . 我不能在读者中总结追求,因为我需要一个处理器来拒绝某些操作,这取决于另一个服务 . 所以一些代码: class UserOperation { String userId; Integer price; } class UserSummary { String userId; Lon...
  • 1 votes
     answers
     views

    spring 批量控制读取器的远程分块

    我必须使用spring批处理来读取文件并批量处理内容 . 我想过使用远程分块,但它不符合我的实际要求 . 我刚才提到了我的要求; ____Item Processor1----> | | Item Reader --->Item --Item Processor2----> ---Item...

热门问题