我试图使用Spring Boot和Sprin Batch(JpaPagingItemReader和JpaItemWriter)从SQLServer数据库中将记录拉到Mysql中 . 我已经配置了多个数据源 . 我怎么面对以下错误 .

org.springframework.batch.item.ItemStreamException: Error while closing item reader
    at org.springframework.batch.item.support.AbstractItemCountingItemStreamItemReader.close(AbstractItemCountingItemStreamItemReader.java:138)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.springframework.beans.factory.support.DisposableBeanAdapter.invokeCustomDestroyMethod(DisposableBeanAdapter.java:337)
    at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:271)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:571)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:543)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:957)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:504)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:964)
    at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1041)
    at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1017)
    at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:967)
    at org.springframework.batch.core.launch.support.CommandLineJobRunner.start(CommandLineJobRunner.java:377)
    at org.springframework.batch.core.launch.support.CommandLineJobRunner.main(CommandLineJobRunner.java:597)
    at net.com.org.batch.MyApplication.main(MyApplication.java:15)
Caused by: java.lang.IllegalStateException: Session/EntityManager is closed
    at org.hibernate.internal.AbstractSharedSessionContract.checkOpen(AbstractSharedSessionContract.java:344)
    at org.hibernate.engine.spi.SharedSessionContractImplementor.checkOpen(SharedSessionContractImplementor.java:137)
    at org.hibernate.internal.AbstractSharedSessionContract.checkOpenOrWaitingForAutoClose(AbstractSharedSessionContract.java:350)
    at org.hibernate.internal.SessionImpl.close(SessionImpl.java:413)
    at org.springframework.batch.item.database.JpaPagingItemReader.doClose(JpaPagingItemReader.java:232)
    at org.springframework.batch.item.support.AbstractItemCountingItemStreamItemReader.close(AbstractItemCountingItemStreamItemReader.java:135)
    ... 17 common frames omitted
20:10:55.875 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Retrieved dependent beans for bean 'jpaMappingContext': [mySqljobRepository, sqlServerLogsRepository]

以下是我的批处理,步骤配置

@Autowired
private StepBuilderFactory stepBuilderFactory;

@Autowired
@Qualifier("mysqlEntityManager")
private LocalContainerEntityManagerFactoryBean mysqlLocalContainerEntityManagerFactoryBean;

@Autowired
@Qualifier("secondarySqlEntityManager")
private LocalContainerEntityManagerFactoryBean localContainerEntityManagerFactoryBean;

@Autowired
@Qualifier("mysqlTransactionManager")
private PlatformTransactionManager mySqlplatformTransactionManager;


@Autowired
@Qualifier("secondaryTransactionManager")
private PlatformTransactionManager secondaryTransactionManager;


@Autowired
private JobBuilderFactory jobBuilderFactory;

@Bean
public JpaPagingItemReader itemReader(PlatformTransactionManager secondaryTransactionManager) {
    JpaPagingItemReader<SqlServerJobLogs> serverJobLogsJpaPagingItemReader = new JpaPagingItemReader<>();
    serverJobLogsJpaPagingItemReader.setMaxItemCount(1000);
    serverJobLogsJpaPagingItemReader.setPageSize(100);
    serverJobLogsJpaPagingItemReader.setEntityManagerFactory(localContainerEntityManagerFactoryBean.getNativeEntityManagerFactory());
    serverJobLogsJpaPagingItemReader.setQueryString("select p from SqlServerJobLogs p");
    return serverJobLogsJpaPagingItemReader;
}

@Bean
public ItemProcessor itemProcessor() {
    return new DataItemProcessor();
}

@Bean
public ItemWriter itemWriter(PlatformTransactionManager mySqlplatformTransactionManager) {
    DataWriter dataWriter = new DataWriter();
    return dataWriter;
}

@Bean
public Step step() {
    return stepBuilderFactory.get("myJob").chunk(100).reader(itemReader(secondaryTransactionManager)).processor(itemProcessor()).writer(itemWriter(mySqlplatformTransactionManager)).build();
}

@Bean(name = "myJob")
public Job myJob() throws Exception {
    return jobBuilderFactory.get("myJob").start(step()).build();
}

@Bean
public ResourcelessTransactionManager resourcelessTransactionManager(){
    return new ResourcelessTransactionManager();
}

@Bean
public JobRepository jobRepository() throws Exception{
    MapJobRepositoryFactoryBean mapJobRepositoryFactoryBean = new MapJobRepositoryFactoryBean(resourcelessTransactionManager());
    return  mapJobRepositoryFactoryBean.getObject();
}
@Bean
public SimpleJobLauncher jobLauncher() throws Exception {
    SimpleJobLauncher simpleJobLauncher = new SimpleJobLauncher();
    simpleJobLauncher.setJobRepository(jobRepository());
    return simpleJobLauncher;
}

我试图配置BatchConfigurer.But没有运气 . 如果我需要配置除上述细节之外的任何其他内容,请告诉我

提前致谢