title: Spring Batch 4.0 and Spring Boot 1.5.9
body: <p>Getting up to speed with Spring Batch and Spring Boot wanting to use only annotations. Got the demo application <a href="https://spring.io/guides/gs/batch-processing/" rel="nofollow noreferrer">https://spring.io/guides/gs/batch-processing/</a> working which uses hsqldb and all worked. After that I opted to switch to oracle. I want to use the repository database tables as our older jobs have done. When I switch to oracle 11g the insertrs into the spring batch tables complain about SERILIZABLE. So spending a good part of yesterday chasing this down, I understand that I probably need to do set a isolation level on the jobrepository. Problem is no site goes into this, and the docs showing xml/java do not explain clearly either. I check out the examples from Spring Batch github and cannot find anything there either. Is there an example somewhere of how to create and job repository and change the isolation level for this? Burning hours at this time with no forward motion. </p>
  
  <p>Tried this below code setting the isolation and get: BatchConfigurationException: java.lang.IllegalArgumentException: Invalid transaction attribute token: [READ_COMMITTED]</p>
  
  <pre><code>public class BatchConfiguration extends DefaultBatchConfigurer {
      @Autowired
      public JobBuilderFactory jobBuilderFactory;
  
      @Autowired
      private PlatformTransactionManager transactionManager;
  
  
      @Autowired
      public StepBuilderFactory stepBuilderFactory;
  
      @Autowired
      private DataSource dataSource;
  
      @Override
      protected JobRepository createJobRepository() throws Exception {
          JobRepositoryFactoryBean factory = new JobRepositoryFactoryBean();
          factory.setDataSource(dataSource);
          factory.setTransactionManager(transactionManager);
            factory.setIsolationLevelForCreate("READ_COMMITTED");
          //     factory.setTablePrefix("BATCH_");
          factory.setMaxVarCharLength(1000);
          return factory.getObject();
      }
  
      @Bean
      public JdbcCursorItemReader&lt;BusnPrtnr&gt; itemReader() {
          return new JdbcCursorItemReaderBuilder&lt;BusnPrtnr&gt;()
                  .dataSource(dataSource)
  ...
  </code></pre>