2017-09-12 1 views
0

기존 배치에 스프링 배치를 구현하려고합니다. 스프링 배치가 올바르게 작동하지만 스프링 배치 테이블 (Batch_job_execution, ...)에 인스턴스를 삽입하는 것처럼 보이지 않습니다.스프링 배치가 데이터베이스에 Job 인스턴스를 삽입하지 않습니다.

왜 실패하지 않고 배치의 동상이 완성되었는지 이해할 수 없습니다 ?

그리고 어떻게이 문제를 해결하고 스프링 배치를 이미 기존 구성과 관련하여 구성 할 수 있습니까?

@Bean 
public JpaTransactionManager myTxManager() { 
    return new JpaTransactionManager(myEmf().getObject()); 
} 

나의 현재 스프링 배치 구성이

@Bean 
@Override 
public JobRepository getJobRepository() throws Exception { 
    MapJobRepositoryFactoryBean factory = new MapJobRepositoryFactoryBean(getTransactionManager()); 
    factory.setIsolationLevelForCreate("ISOLATION_DEFAULT"); 
    factory.afterPropertiesSet(); 
    return factory.getObject(); 
} 

@Override 
public JobLauncher getJobLauncher() throws Exception { 
    SimpleJobLauncher jobLauncher = new SimpleJobLauncher(); 
    jobLauncher.setJobRepository(getJobRepository()); 
    jobLauncher.afterPropertiesSet(); 
    return jobLauncher; 
} 

@Override 
public JpaTransactionManager getTransactionManager() throws Exception { 
    return myTxManager; 
} 


@Override 
public JobExplorer getJobExplorer() throws Exception { 
    return this.jobExplorer; 
} 

답변

1

MapJobRepositoryFactoryBean 메모리 Map에 의해 뒷받침되는 JobRepository을 만드는 프로젝트의 공통 구성 :

내가는 아래의 transactionManager의 구성이 구현 ... 데이터베이스가 아닙니다. 대신 JobRepositoryFactoryBean을 사용하면 데이터베이스에 레코드가 표시됩니다.

관련 문제