使用Dropwizard(2)-配置分类ConfiguredBundle

来源:互联网 发布:新浪微博没有mac版 编辑:程序博客网 时间:2024/06/18 14:12

前言

不可避免的要用dropwizard作为service框架。持续学习。上次在dropwizard中使用feign,使用hystrix, 算是基本入门了。接下来就是基于此的优化。

作者:@Ryan-Miao
本文为作者原创,转载请注明出处:http://www.cnblogs.com/woshimrf/p/dropwizard-configuration-bundle.html

把需要使用Configuration的逻辑从Application里分离出来

在开始的demo中,由于不知道dropwizard怎么传播类,怎么注入, 把所有的初始化的东西都放到Application里去new出来。现在发现有办法可以分离部分配置逻辑。

现在把feign的基础配置抽离出来:

public class ConnectivityBundle implements ConfiguredBundle<HelloWorldConfiguration> {    @Override    public void run(HelloWorldConfiguration configuration, Environment environment) throws Exception {        //init hystrix config        Map<String, Object> hystrixConfig = configuration.getHystrixConfig();        for (final Map.Entry<String, Object> config : hystrixConfig.entrySet()) {            ConfigurationManager.getConfigInstance().setProperty(config.getKey(), config.getValue());            System.out.println(config.getKey());        }    }    @Override    public void initialize(Bootstrap<?> bootstrap) {    }}

然后,在Application中添加就好了。
com.test.HelloWorldApplication

@Overridepublic void initialize(Bootstrap<HelloWorldConfiguration> bootstrap) {    bootstrap.addBundle(new ConnectivityBundle());}
原创粉丝点击