使用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());
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏用户2442861的专栏

Java IO学习笔记(一):File类

http://www.cnblogs.com/lich/archive/2011/12/10/2283445.html

211
来自专栏各种机器学习基础算法

php链式操作的实现

一、什么是链式操作? 直接说链式操作,也许大家不清楚是什么,但是在平时使用框架的过程中,大家肯定见到过这样子的使用: $db->where()->limit()...

3277
来自专栏技术记录

JAVA-FTP批量大文件传输

FTP的具体使用      FTP是一种网络协议,用于进行不同服务器主机之间的文件传输,或者简单地说两台不同IP的机器之间的文件传输。在java中我们什么时候需...

4956
来自专栏帅小子的日常

freemarker的使用

712
来自专栏Pythonista

Golang基本结构之练习(day2)

2. 一个程序包含两个包add和main,其中add包中有两个变量:Name和age。请问main 包中如何访问Name和age?

662
来自专栏GreenLeaves

C#核编之一个简单的C#程序

构建一个简单的C#应用程序需要注意一下几点: 1、C#要求所有的程序逻辑都包含在一个类型定义中   --->这里的类型指的是(类,接口,结构,枚举,委托中的一个...

16810
来自专栏Play & Scala 技术分享

Play-Scala开发技巧 - 带索引遍历Form(arrayProperty)

2795
来自专栏GreenLeaves

C# (类型、对象、线程栈和托管堆)在运行时的相互关系

  在介绍运行时的关系之前,先从一些计算机基础只是入手,如下图: ? 该图展示了已加载CLR的一个windows进程,该进程可能有多个线程,线程创建时会分配到1...

2007
来自专栏专注 Java 基础分享

java 文件操作(二)---Files和Path

     自从java 7以来,引入了FIles类和Path接口。他们两封装了用户对文件的所有可能的操作,相比于java 1的File类来说,使用起来方便很多。...

1675
来自专栏钟绍威的专栏

初学File类

对File类的基本方法的理解 今天刚开始学了File类 一开始看思想编程看得迷迷糊糊的,之后受不了了,直接去看API文档 归纳: File->jav...

17410

扫描关注云+社区