package edabatch; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.batch.JobExecutionEvent; import org.springframework.context.event.EventListener; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.RowCallbackHandler; import org.springframework.stereotype.Component; @Component class JobExecutionListener { private final JdbcTemplate jdbcTemplate; private Log log = LogFactory.getLog(getClass()); @Autowired public JobExecutionListener(JdbcTemplate template) { this.jdbcTemplate = template; } @EventListener(JobExecutionEvent.class) public void job(JobExecutionEvent executionEvent) { log.info("jobExecutionEvent: " + executionEvent.getJobExecution().toString()); jdbcTemplate.query("select * from CONTACT", (RowCallbackHandler) rs -> log .info(String.format("id=%s, full_name=%s, email=%s, valid_email=%s", rs.getLong("id"), rs.getString("full_name"), rs.getString("email"), rs.getBoolean("valid_email")))); } }