super-diamond 结合springboot的使用经验

1. super-diamond server部署

git 地址 https://github.com/melin/super-diamond

git上的使用说明有点问题,括号里是我在实际使用过程中自己的改动,供参考:

  1. 下载super-diamond代码: git clone https://github.com/melin/super-diamond.git
  2. 进入super-diamond目录,构建super-diamond父工程: mvn install (install如果不成功,把client包里的test删除)
  3. super-diamond-server中嵌入jetty运行,构建部署包:mvn install assembly:single -Pproduction,生成super-diamond-server-${version}-bin.tar.gz文件, 解压运行bin/server.sh start命令。(3要在4,5建表后才能执行,而且要将super-dimond-server包打包为super-diamond-server-1.3.3.jar放置在3中解压后的lib文件夹中。)
  4. 在conf\META-INF\scripts目录中,提供mysql和oracle建表脚本,理论也支持其它数据库,在conf\META-INF\res\config-production.properties文件中修改数据库配置。(这里面的数据库是super-diamond保存元数据的地方,也是设置的参数保保存的地方,port为client端和server端之间交流用的)
  5. 在conf_user表中添加用户admin,密码000000的加密值为:670b14728ad9902aecba32e22fa4f6bd, mysql脚本: insert into conf_user(id,USER_code,USER_NAME,PASSWORD,CREATE_TIME) values(1,'admin','admin','670b14728ad9902aecba32e22fa4f6bd',current_timestamp() );commit;
  6. 访问super-diamond-server,jetty默认端口为8090,可以在:conf/META-INF/res/jetty.properties中修改。http://localhost:8090/superdiamond

 

2. super-diamond client在springboot中使用

此git项目未在maven中央仓库里发布,所以要在项目中使用client端,必须自己将super-diamond-client打包放置到自己maven的仓库。

在项目中添加依赖:

        <dependency>
            <groupId>com.github.diamond</groupId>
            <artifactId>super-diamond-client</artifactId>
            <version>1.4.0</version>
        </dependency>

git项目介绍中只写了client的直接获取和在spring中的使用,如果是springboot项目,没有spring配置文件的话,可以仿照项目文档中spring 配置xml bean的方法建立配置类,加载super-diamond中的参数:

@Configuration
public class ApplicationConfigurer {

    @Bean
    public PropertySourcesPlaceholderConfigurer createPropertySourcesPlaceholderConfigurer() {
        PropertySourcesPlaceholderConfigurer propertyPlaceholderConfigurer = new PropertySourcesPlaceholderConfigurer();
        PropertiesConfiguration config = new PropertiesConfiguration("192.168.2.233", 8283, "test", "development");
        config.addConfigurationListener(new ConfigurationListenerTest());
        propertyPlaceholderConfigurer.setProperties(config.getProperties());
        return propertyPlaceholderConfigurer;
    }
}

这样除了sprignboot的application.yml中配置的参数外,还可以加上我们在super-diamond中配置的参数也可以同时加载。

 可以添加参数监听:

public class ConfigurationListenerTest implements ConfigurationListener {
    @Override
    public void configurationChanged(ConfigurationEvent event) {
        System.out.println(event.getType().name() + " " + event.getPropertyName() + " " + event.getPropertyValue());
    }
}

这样在server端更改参数后,应用中可以及时感知,可以用在一些功能控制开关的地方。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值