title: Parameter 1 of method batchConfigurer in org.springframework.boot.autoconfigure.batch.BatchConfigurerConfiguration$JdbcBatchConfiguration required
body: <p>I am using Spring Batch and using @Scheduler annotation to scheduled a job at some frequency.</p>
  
  <p>From the error message it looks like Spring Boot expecting atleast Spring DataSource related entry but I dont need it, because I am not dealing with the DB as of now.</p>
  
  <pre><code>***************************
  APPLICATION FAILED TO START
  ***************************
  
  Description:
  
  Parameter 1 of method batchConfigurer in org.springframework.boot.autoconfigure.batch.BatchConfigurerConfiguration$JdbcBatchConfiguration required a bean of type 'javax.sql.DataSource' that could not be found.
      - Bean method 'dataSource' not loaded because @ConditionalOnProperty (spring.datasource.jndi-name) did not find property 'jndi-name'
      - Bean method 'dataSource' not loaded because @ConditionalOnClass did not find required class 'javax.transaction.TransactionManager'
  
  
  Action:
  
  Consider revisiting the conditions above or defining a bean of type 'javax.sql.DataSource' in your configuration.
  </code></pre>
  
  <p><strong>application.properties</strong></p>
  
  <pre><code>cron.job.expression=*/1 * * * *
  </code></pre>
  
  <p>Other class:</p>
  
  <pre><code>@Configuration
  @EnableBatchProcessing
  @Primary
  public class ScheduledDomainJob {
  
      @Autowired
      private JobBuilderFactory jobBuilderFactory;
      @Autowired
      private StepBuilderFactory stepBuilderFactory;
  
      @Bean
      public Job scheduledJob() {
          return jobBuilderFactory.get("scheduledJob").flow(step1()).end().build();
      }
  
      @Bean
      public Step step1() {
          return stepBuilderFactory.get("step1").&lt;Domain, Domain&gt;chunk(10)
                  .reader(reader()).writer(writer()).build();
      }
  
      @Bean
      public FlatFileItemReader&lt;Domain&gt; reader() {
          FlatFileItemReader&lt;Domain&gt; reader = new FlatFileItemReader&lt;&gt;();
          reader.setResource(new ClassPathResource("csv/domain-1-03-2017.csv"));
          reader.setLineMapper(new DefaultLineMapper&lt;Domain&gt;() {{
              setLineTokenizer(new DelimitedLineTokenizer() {{
                  setNames(new String[]{"id", "domain"});
              }});
              setFieldSetMapper(new BeanWrapperFieldSetMapper&lt;Domain&gt;() {{
                  setTargetType(Domain.class);
              }});
          }});
          return reader;
      }
  
      @Bean
      public CustomWriter writer() {
          CustomWriter writer = new CustomWriter();
          return writer;
      }
  
      @Bean
      public RunScheduler scheduler() {
          RunScheduler scheduler = new RunScheduler();
          return scheduler;
      }
  }
  </code></pre>
  
  <p><strong>CustomerWriter.java</strong></p>
  
  <pre><code>@Slf4j
  public class CustomWriter implements ItemWriter&lt;Domain&gt; {
  
      @Override
      public void write(List&lt;? extends Domain&gt; items) throws Exception {
          log.info("writer ....... " + items.size());
          for (Domain domain : items) {
              log.info(domain + "\n");
          }
      }
  }
  </code></pre>