CommandLineRunner续:

源于:::1.7分钟学会Spring Boot的CommandLineRunner
http://mp.weixin.qq.com/s/L3QD-BQ0mWkFyW_7QoKL5w
看完 ImportSource的这篇文章,对CommandLineRunner的理解又更加深入了一层,正好项目中有对CommandLineRunner的应用,于是将项目中的实例拿来总结一下,与大家分享,也算是自己对项目的总结。对于CommandLineRunner的介绍和应用就不再重复了,因为ImportSource的文章写的很详细,说实话自己不太适合写文章,只能算是简单的罗列,希望以后写的越来越好。
#1.查看项目的运行环境
这部分是在CommandLineRunner之外的,放在这里可能有点不太合适,是关于配置的一些信息了,还是写出来了,感觉差不是很多。
POM文件内容
<profiles>
<profile>
<id>dev</id>
<properties>
<profileActive>dev</profileActive>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
</profile>
<profile>
<id>test</id>
<properties>
<profileActive>test</profileActive>
</properties>
</profile>
</profiles>

启动Application

@SpringBootApplication
@EnableEurekaServer
@EnableDiscoveryClient
public class DiscoveryApplication {
private static final Logger log = LoggerFactory.getLogger(DiscoveryApplication.class);
public static void main(String[] args) {
Object[] obj = { DiscoveryApplication.class };
SpringApplication app = new SpringApplication(obj);
ApplicationContext context = app.run(args);
String[] activeProfiles = context.getEnvironment().getActiveProfiles();
for (String activeProfile : activeProfiles) {
log.info("当前环境: " + activeProfile);
}
}
}

打印log: ===》》》当前环境: dev

改变运行环境命令
打包命令:mvn clean -Ptest package -Dmaven.test.skip=true
运行命令:java –jar discovery.jar
打印log: ===》》》当前环境: test

Ok,CommandLineRunner之外的介绍到此结束。

2.::: CommandLineRunner应用:打印连接池等信息

@Component
public class StartupRunner implements CommandLineRunner {
private static final Logger log = LoggerFactory.getLogger(StartupRunner.class);
@Autowired
private C3p0DataSourceProperties c3p0DataSourceProperties;
@Autowired
private DataSource dataSource;
@Autowired
JedisCluster jedisCluster;
@Autowired
RedisTemplate redisTemplate;
@Override
public void run(String... strings) throws Exception {
log.info("CommandLineRunner.........");
log.info("c3p0DataSourceProperties: " + ReflectionToStringBuilder.toString(c3p0DataSourceProperties));
log.info("Datasource: " + ReflectionToStringBuilder.toString(dataSource));
log.info("CommandLineRunner End");
}
}
出力Log:=========》
StartupRunner run 35 : CommandLineRunner.........
StartupRunner run 36 : c3p0DataSourceProperties: C3p0DataSourceProperties@544733a4[driverClass=com.mysql.jdbc.Driver,jdbcUrl=jdbc:mysql://192.168.0.108:3306/module1?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull,user=root,password=123456789,acquireIncrement=1,initialPoolSize=2,maxIdleTime=2,maxPoolSize=2,minPoolSize=2,acquireRetryDelay=1000,acquireRetryAttempts=60,breakAfterAcquireFailure=false]
StartupRunner run 37 : Datasource: ***********************
StartupRunner run 47 : CommandLineRunner End
EmailApplication main 81 : spring boot使用环境为: dev

3.:::查看当前实例是否正确配置:可以来判断服务发现中注册的服务名称和启动的服务名称是否匹配

@Component
public class StartupRunner implements CommandLineRunner {
private static final Logger log = LoggerFactory.getLogger(StartupRunner.class);
@Autowired
private ConfigClientProperties configClientProperties;
@Autowired
private DiscoveryClient client;
@Override
public void run(String... strings) throws Exception {
log.info("CommandLineRunner.........");
log.info("configClientProperties: " + ReflectionToStringBuilder.toString(configClientProperties));
String serviceId = this.configClientProperties.getDiscovery().getServiceId();
log.info("serviceId:"+serviceId);
List<ServiceInstance> instances = this.client.getInstances(serviceId);
if (instances.isEmpty()) {
log.warn("No instances found of (" + serviceId + ")");
} else{
log.warn("instances found of (" + serviceId + ")");
}
log.info("CommandLineRunner End");
}
}
运行log
CommandLineRunner.........
configClientProperties:***********************
serviceId:configserver
instances found of (configserver)
CommandLineRunner End
Started ConfigServerApplication in 142.344 seconds (JVM running for 143.118)
当前环境: dev, configserver配置:native

the end......................

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,590评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,808评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,151评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,779评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,773评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,656评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,022评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,678评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,038评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,756评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,411评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,005评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,973评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,053评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,495评论 2 343

推荐阅读更多精彩内容