zoukankan      html  css  js  c++  java
  • 使用Dropwizard(2)-配置分类ConfiguredBundle

    前言

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

    把需要使用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

    @Override
    public void initialize(Bootstrap<HelloWorldConfiguration> bootstrap) {
        bootstrap.addBundle(new ConnectivityBundle());
    }
    
  • 相关阅读:
    Python3 模块基础
    Python3 函数小练习
    Python3 函数进阶3
    Python3 函数进阶2
    Python3 函数进阶1
    Python3 函数实践之简易购物系统
    线程之间的通信
    volatile 关键字
    对象锁的同步与异步
    synchronized 关键字
  • 原文地址:https://www.cnblogs.com/woshimrf/p/dropwizard-configuration-bundle.html
Copyright © 2011-2022 走看看