草庐IT

java - 如何仅运行一次 Spring Batch 的 read() 函数

我正在使用以下xml创建一个SpringBatch作业:-->-->这是我的读者类:privateStringURL;publicStringgetURL(){returnURL;}publicvoidsetURL(StringuRL){URL=uRL;}publicArrayListread()throwsException,UnexpectedInputException,ParseException,NonTransientResourceException{ArrayListlist=newArrayList();String[]splitStocks=URL.split(",

java - 使用 Spring Batch 进行事务管理

我实际上发现了Spring,并且我能够设置一些作业。现在,我想使用Hibernate/JPA将导入的数据保存在数据库中,但我不断收到此错误:14:46:43.500[main]ERRORo.s.b.core.step.AbstractStep-Encounteredanerrorexecutingthestepjavax.persistence.TransactionRequiredException:notransactionisinprogress我发现问题出在交易上。这是我的entityManager和transactionManager的springjava配置:@Config

java - 如何将@Configuration 和@EnableScheduling 与Spring Batch 一起使用

因为“只有返回无效的方法可以用@Scheduled注释”,当我使用@Bean配置时如何使用SpringBatch和SpringSchedulerTask的xml配置?您可以在下面找到我的完整配置文件。当我从main()触发但只有一次时,它运行完美。我想添加@Scheduled(fixedrate=9999)以便以特定频率调用相同的作业。据我所知,为了做到这一点,我应该在step1方法周围添加@Scheduled但我不能,因为它返回的值与void不同。@Configuration@EnableBatchProcessing@EnableSchedulingpublicclassBatch

java - 多个 Spring Batch 作业并发执行导致 Spring Batch 元数据表中出现死锁

我们有多个SpringBatch作业,每个作业都使用CommandLineJobRunner在自己的Java实例中运行。所有作业同时启动,仅读/写平面文件并更新SQLServer中托管的相同SpringBatch元数据。唯一涉及的数据库是SpringBatch元数据数据库。当多个作业同时启动时,我们会得到SQL死锁异常。可以在下面找到更详细的堆栈跟踪。从数据库的角度来看,我们可以看到死锁受害者正在执行以下操作之一:插入BATCH_JOB_SEQ默认值或从ID我们正在使用默认的MapJobRegistry,以及默认的作业存储库或指定JobRepositoryFactoryBean。对于用

java - 处理器中的 Spring Batch 配置错误

我想配置SpringBatch作业,但收到以下错误,我该如何解决?错误:读者:importorg.springframework.batch.item.ItemReader;publicclassMoviesReaderimplementsItemReader,StepExecutionListener{@OverridepublicSearchResponseROread()throwsException{returnnewSearchResponseRO();}}处理器:importorg.springframework.batch.item.ItemProcessor;publi

java - Kafka 0.10 Java 客户端 TimeoutException : Batch containing 1 record(s) expired

我有一个单节点、多(3)代理Zookeeper/Kafka设置。我正在使用Kafka0.10Java客户端。我写了以下简单的远程(在与Kafka不同的服务器上)Producer(在代码中我用MYIP替换了我的公共(public)IP地址):Propertiesconfig=newProperties();try{config.put(ProducerConfig.CLIENT_ID_CONFIG,InetAddress.getLocalHost().getHostName());config.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG,"MY

java - Spring 数据 JPA : Batch insert for nested entities

我有一个测试用例,我需要将100'000个实体实例保存到数据库中。我当前使用的代码执行此操作,但最多需要40秒才能将所有数据持久保存在数据库中。从大小约为15MB的JSON文件中读取数据。现在我已经为另一个项目在自定义存储库中实现了批量插入方法。但是,在那种情况下,我有很多顶级实体需要保留,只有几个嵌套实体。在我目前的情况下,我有5Job包含大约~30JobDetail列表的实体实体。一JobDetail包含850到1100JobEnvelope实体。写入数据库时​​,我提交了Job的列表默认实体save(Iterablejobs)接口(interface)方法。所有嵌套实体都具有Ca

java - Spring Batch - 作业实例已存在 : JobInstanceAlreadyCompleteException

我在我的Spring应用程序中编写了一个简单的调度程序。我运行我的本地服务器,几秒钟后,在Importer类中,每5秒调用一次checker.start(),就像我在配置文件中配置的那样。之后,此方法使用JobLauncher调用Job,这里出现错误。org.springframework.batch.core.repository.JobInstanceAlreadyCompleteException:Ajobinstancealreadyexistsandiscompleteforparameters={}.Ifyouwanttorunthisjobagain,changethep

java - 如何获取preparedstatement中的batch数?

我想这一定很简单。为此必须有一些方法。这就是我想要的:-PreparedStatementps=...ps.addBatch();ps.addBatch();ps.addBatch();logger.info("totalBatches:"+ps.someMethod());ps.executeBatch();结果将是:总批处理:3;如果没有这样的方法,那怎么办呢? 最佳答案 不支持此功能。但是您可以通过添加计数成员来包装Statement并覆盖addBatch()。如果使用ApacheCommonsDBCP,您可以从Delegat

java - Spring Batch 有哪些替代方案来处理排队的作业?

我一直在寻找SpringBatch来解决每个作业涉及大量数据的批处理场景。还有其他解决方案可以与SpringBatch竞争吗?在JavaEE环境中使用。 最佳答案 现在通过JSR352:BatchapplicationsfortheJavaplatform在JavaEE7中提供批处理支持.参见BatchApplicationsinJavaEE7-UndertandingJSR352Concepts了解更多信息。 关于java-SpringBatch有哪些替代方案来处理排队的作业?,我们在