jjzjj

batch-normalization

全部标签

java - spring batch 在作业存储库和实际任务之间使用不同的事务管理器

我使用SpringBatch使用2个(可能更多,为简单起见假设2个)数据库。一个用于存储所有作业数据(所有BATCH_*表)。另一个用于实际运行我的业务逻辑数据。有些事情我不太明白。当我声明我的JobRepository时,我已经指定了我的TransactionManager,为什么我必须在我的tasklet上再做一次?(我不是故意使用默认名称的)我目前正在为tasklet提供与我的JobRepository相同的TrasactionManager,它管理与我在步骤中所做的不同的连接。这是否意味着我在作者或读者内部进行了自己的事务管理?如果#2为真,HowdoesSpringBatch

java - Spring Batch如何设置Chunk tasklet中每次调用之间的时间间隔

团队,我正在做一个从平面文件中读取记录并将数据插入数据库的技术poc。我正在使用block任务并成功地使用springbatchadmin运行这个作业。我必须实现重试策略以及设置每次重试之间的时间间隔的功能。我坚持设置每次重试之间的时间间隔,因为查克不直接支持它。有什么解决方法吗?我的代码是 最佳答案 在您的情况下,配置将如下所示:SpringBatch2.x...不幸的是,batch命名空间不支持将backOffPolicy直接设置为step,参见BATCH-1441.Spring批量3.0在SpringBatch3.0中,一些类

java - AWS Lambda/Aws Batch 工作流程

我编写了一个lambda,它被s3存储桶触发以解压缩zip文件并处理其中的文本文档。由于lambda的内存限制,我需要将我的进程转移到AWS批处理之类的东西上。如果我错了请纠正我,但我的工作流程应该是这样的。workflow我相信我需要编写一个lambda来将s3存储桶的位置放在亚马逊SQS上,如果AWS批处理可以读取该位置并进行所有解压缩/数据处理,它们的内存更大。这是我当前的lambda,它接收由s3存储桶触发的事件,检查它是否是一个zip文件,然后将该s3key的名称推送到SQS。我应该告诉AWSbatch在我的lambda中开始读取队列吗?总的来说,我对AWS完全陌生,不确定从

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 - XPath normalize-space() 返回规范化字符串序列

我需要使用XPath函数normalized-space()来规范化我想从XHTML文档中提取的文本:http://test.anahnarciso.com/clean_bigbook_0.html我正在使用以下表达式://*[@slot="address"]/normalize-space(.)它在我用来测试XPath表达式的工具QizxStudio中完美运行。let$doc:=doc('http://test.anahnarciso.com/clean_bigbook_0.html')return$doc//*[@slot="address"]/normalize-space(.)

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 - JPA PessimisticLockScope.NORMAL 和锁定 "relationships"

我正在研究JPA文档并遇到以下几行:Entityrelationshipsforwhichthelockedentitycontainstheforeignkeywillalsobelocked,butnotthestateofthereferencedentities(unlessthoseentitiesareexplicitlylocked).Elementcollectionsandrelationshipsforwhichtheentitydoesnotcontaintheforeignkey(suchasrelationshipsthataremappedtojointab

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

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

java - 如何从自定义实现中引用 'normal' spring 数据仓库?

我想用自定义实现扩展一个JpaRepository,所以我添加了一个MyRepositoryCustom接口(interface)和一个扩展该接口(interface)的MyRepositoryImpl类。有没有办法在我的自定义类中从JpaRepository调用方法?注意:这也作为对https://stackoverflow.com/a/11881203/40064的评论被问及,但我认为这很常见,值得单独提出一个问题。 最佳答案 tl;dr要将核心存储库接口(interface)注入(inject)自定义实现,请注入(inject