Tag: spring batch

在单个Weblogic域中的同一群集中部署两个Spring批处理应用程序?

背景 – 我试图在一个Weblogic域中的同一个集群中部署两个Spring批处理应用程序作为.war,并且每个应用程序都在servlet.xml中配置了弹出批处理管理控制台,如下所示 – 它的maven项目和spring-batch-admin-manager 1.2.2作为依赖项被引入。 问题 – 我正在努力让他们两个同时运行。 目前我不能让他们两个一起跑,当我尝试启动另一个,而其中一个已经在运行时,我得到以下错误 – weblogic.application.ModuleException: [HTTP:######]Servlet: “myServlet” failed to preload on startup in Web application: “myservice-app.war”. org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘messageSource’ defined in URL [zip:/myservice-app_3.0.0-SNAPSHOT/yvcbfs/war/WEB-INF/lib/spring-batch-admin-manager-1.2.2.RELEASE.jar!/META-INF/spring/batch/servlet/manager/controller-context.xml]: Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘mbeanExporter’: Invocation of init method failed; nested exception […]

Tasklet删除spring批处理中的表

我在批处理作业中执行了不同的操作。 但在开始所有这些步骤之前,我需要清理一个表格。 有没有简单的方法来编写一个将直接从作业xml文件中删除表的tasklet? 我使用ibatis作为ORM

使用Spring-Data Elasticsearch在Elasticsearch中动态创建索引名称

我有一个用例,需要在Elasticsearch中每月创建索引。 我们的想法是在月度基础上创建指数,以便它们易于维护,并且可以在过期时删除。为此我要使用春季批次并且每月工作将创建每月基数的指数对于Elasticsearch -Java集成我使用了Spring-Data Elasticsearch实现。 我现在面临的问题是,我无法弄清楚如何使用Entity对象为索引和映射提供动态名称。 我目前的实施完成时要记住单一索引。 请找到以下用于创建索引的代码 elasticsearchTemplate.createIndex(SingleChat.class); elasticsearchTemplate.putMapping(SingleChat.class); elasticsearchTemplate.refresh(SingleChat.class, true); 而SingleChat是我的实体类 @Document(indexName=”singlemsgtemp_#{jobParameters[‘MONTH’]}”,type=”singlechat”) public class SingleChat { @org.springframework.data.annotation.Id String Id; @Field(type = FieldType.String) String conservationId; @Field(type = FieldType.String) String from; @Field(type = FieldType.String) String to; @Field(type = FieldType.String) String msgContent; @Field(type = FieldType.String) String sessionId; @Field(type = FieldType.Date, index = FieldIndex.not_analyzed, store = true, format […]

如何在spring集成中动态创建ftp适配器?

谢谢你的关注 我在我的项目中使用了spring集成,我想从多个ftp服务器检索许多输入文件,其中不同的地址如下图所示: 如何在我的项目中创建动态inbound-adapter来轮询和检索服务器中的文件?

如何使用Spring-Batch读取由id-column分块的csv行?

我正在使用Spring-Batch读取csv文件,格式化内容并将其写入数据库,如: StepBuilder builder = stepBuilderFactory.get(“step”) .chunk(100) .reader(flatFileItemReader) .processor(processor) .writer(jpaItemWriter); csv包含ID列。 如何修改reader以基于该ID的块? Examle: #id, #value 1, first 1000, second 1001, second 1005, second 在这种情况下,块只会读取第一行,然后提交,然后继续。 是否可以通过文件中的值应用分块?

Spring-batch @BeforeStep不适用于@StepScope

我正在使用Spring Batch版本2.2.4.RELEASE我试着用有状态的ItemReader,ItemProcessor和ItemWriter bean编写一个简单的例子。 public class StatefulItemReader implements ItemReader { private List list; @BeforeStep public void initializeState(StepExecution stepExecution) { this.list = new ArrayList(); } @AfterStep public ExitStatus exploitState(StepExecution stepExecution) { System.out.println(“******************************”); System.out.println(” READING RESULTS : ” + list.size()); return stepExecution.getExitStatus(); } @Override public String read() throws Exception { this.list.add(“some stateful reading information”); if (list.size() < 10) […]

Spring Batch – 循环读取器/处理器/写入器步骤

回答 根据接受的答案代码,对该代码的以下调整对我有用: // helper method to create a split flow out of a List of steps private static Flow createParallelFlow(List steps) { SimpleAsyncTaskExecutor taskExecutor = new SimpleAsyncTaskExecutor(); taskExecutor.setConcurrencyLimit(steps.size()); Flow[] flows = new Flow[steps.size()]; for (int i = 0; i < steps.size(); i++) { flows[i] = new FlowBuilder(steps.get(i).getName()).start(steps.get(i)).build(); } return new FlowBuilder(“parallelStepsFlow”) .split(taskExecutor) .add(flows) .build(); } […]

Spring批量远程分块和远程分区之间的区别

spring批量远程分块和远程分区有什么区别? 我无法理解Spring批处理中远程分块和远程分区之间的区别。 有人可以解释一下吗?

Spring-Batch没有将元数据保存到数据库?

我想创建一个spring-batch作业,但我想在没有任何数据库持久性的情况下运行它。 不幸的是,spring-batch需要以某种方式将作业循环中的metadata写入数据库,从而促使我至少提供某种db与transactionmanager和entitymanager。 是否可以阻止元数据并独立于txmanagers和数据库运行? 更新: ERROR org.springframework.batch.core.job.AbstractJob: Encountered fatal error executing job java.lang.NullPointerException at org.springframework.batch.core.repository.dao.MapJobExecutionDao.synchronizeStatus(MapJobExecutionDao.java:158) ~[spring-batch-core-3.0.1.RELEASE.jar:3.0.1.RELEASE] at org.springframework.batch.core.repository.support.SimpleJobRepository.update(SimpleJobRepository.java:161) ~[spring-batch-core-3.0.1.RELEASE.jar:3.0.1.RELEASE] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_51] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[?:1.7.0_51] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.7.0_51] at java.lang.reflect.Method.invoke(Method.java:606) ~[?:1.7.0_51] at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) ~[spring-aop-4.0.6.RELEASE.jar:4.0.6.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190) ~[spring-aop-4.0.6.RELEASE.jar:4.0.6.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) ~[spring-aop-4.0.6.RELEASE.jar:4.0.6.RELEASE] at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98) ~[spring-tx-4.0.6.RELEASE.jar:4.0.6.RELEASE] at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262) ~[spring-tx-4.0.6.RELEASE.jar:4.0.6.RELEASE] at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95) ~[spring-tx-4.0.6.RELEASE.jar:4.0.6.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.0.6.RELEASE.jar:4.0.6.RELEASE] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207) ~[spring-aop-4.0.6.RELEASE.jar:4.0.6.RELEASE] […]

Spring批处理作业从多个来源读取

如何从多个数据库中读取项目? 我已经知道可以从文件中获取。 以下示例适用于从多个文件中读取 … … … 像这样的三个豆子。