1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.springframework.batch.admin.service;
17
18 import org.springframework.batch.core.repository.dao.JdbcJobExecutionDao;
19 import org.springframework.batch.core.repository.dao.JdbcJobInstanceDao;
20 import org.springframework.jdbc.support.incrementer.AbstractDataFieldMaxValueIncrementer;
21
22
23
24
25
26 public class JdbcSearchableJobInstanceDao extends JdbcJobInstanceDao implements SearchableJobInstanceDao {
27
28 private static final String GET_COUNT_BY_JOB_NAME = "SELECT COUNT(1) from %PREFIX%JOB_INSTANCE "
29 + "where JOB_NAME=?";
30
31
32
33
34 @Override
35 public void afterPropertiesSet() throws Exception {
36
37 setJobIncrementer(new AbstractDataFieldMaxValueIncrementer() {
38 @Override
39 protected long getNextKey() {
40 return 0;
41 }
42 });
43
44 super.afterPropertiesSet();
45
46 }
47
48
49
50
51
52 public int countJobInstances(String name) {
53 return getJdbcTemplate().queryForObject(getQuery(GET_COUNT_BY_JOB_NAME), Integer.class, name);
54 }
55
56 }