ApplicationRunner.java 1.59 KB
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
package com.lyms.etl;

import com.lyms.etl.datasource.DynamicDataSourceRegister;
import com.lyms.etl.service.IInvokeHandler;
import com.lyms.etl.util.AopTargetUtil;
import org.mybatis.spring.annotation.MapperScan;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Import;
import org.springframework.transaction.annotation.EnableTransactionManagement;

import java.util.Date;
import java.util.Set;

/**
* @Author: litao
* @Date: 2017/5/2 0002 20:29
* @Version: V1.0
*/
@SpringBootApplication
@EnableTransactionManagement
@Import({ DynamicDataSourceRegister.class })
@MapperScan("com.lyms.etl.dao")
public class ApplicationRunner implements CommandLineRunner{

private static final Logger log = LoggerFactory.getLogger(ApplicationRunner.class);

@Autowired
Set<IInvokeHandler> invokeHandlers;

public static void main(String[] args) {
SpringApplication.run(ApplicationRunner.class, args);
}

@Override
public void run(String... strings) throws Exception {
for (IInvokeHandler handler : invokeHandlers) {
Date start = new Date();
log.info("start ................ {}", AopTargetUtil.getTarget(handler).getClass().getName());
handler.invoke();
log.info("end ................ used: {} ms", System.currentTimeMillis() - start.getTime());
}
}
}