# JAVA SDK 使用手册

# 概述

maven 坐标 普通 SDK使用方式brcc sdk (opens new window)

<dependency>
    <groupId>com.baidu.mapp</groupId>
    <artifactId>brcc-sdk</artifactId>
    <version>1.0.0</version>
</dependency>

spring boot starter使用方式brcc sdk starter (opens new window)

<dependency>
    <groupId>com.baidu.mapp</groupId>
    <artifactId>brcc-sdk-starter</artifactId>
    <version>1.0.0</version>
</dependency>

建议引用最新版本

# 启动参数配置

rcc:
  cc-server-url: http://ip:port/
  project-name: example
  cc-password: 123456
  env-name: dev
  cc-version-name: 1.0
  log-properties: true
  enable-update-callback: true
  enable-interrupt-service: true
  enable-gray: false
配置属性名称 默认值 必填 描述
rcc.cc-server-url null 配置中心服务地址
rcc.project-name null 工程名称
rcc.cc-password null 工程的api密码, 创建工程时指定
rcc.env-name null 请求的环境名称
rcc.cc-version-name null 版本名称
rcc.log-properties false 是否在日志中打印配置
rcc.enable-update-callback false 否启用自动更新
rcc.enable-interrupt-service true 若第一次加载时工程的api密码错误,是否中断服务
rcc.enable-gray false 是否开启灰度功能
rcc.callback-interval 2000 心跳探测频率(ms)
rcc.connection-timeout 3000 链接超时时间(ms)
rcc.read-timeout 10000 读超时时间(ms)
rcc.app-name null 实例上报,采集应用名称
rcc.container-id-env-name hostname 实例容器ID上报,容器ID对应的环境变量
rcc.idc-env-name null 实例机房信息上报,机房名称对应的环境变量
rcc.use-only-site-local-interfaces false 实例IP上报,是否只允许上报局域网IP
rcc.preferred-networks null 上报IP来源网卡(如en0)列表,英文逗号分隔
rcc.ignored-interfaces null 实例IP上报,上报IP来源忽略网卡列表,英文逗号分隔

# 自动更新配置

当启动参数中rcc.enable-update-callback配置开启的时,自动更新功能打开。 自动更新采用的时观察者模式, 您只需要实现 com.baidu.brcc.ConfigItemChangedCallable接口,并将其以Bean的方式注册到Spring容器中, 当系统中有配置方式变更后,并且在管理平台上执行了推送变更操作, rcc会主动调用ConfigItemChangedCallable。

例如:

@Configuration
public class ExampleConfiguration {

    @Bean
    public ConfigItemChangedCallable configItemChangedCallable() {
        return new DefaultConfigItemChangedCallable();
    }


}

DefaultConfigItemChangedCallable 是rcc提供的默认变更回调实现, 其中仅仅打印变更日志,您可以实现自己的变更业务。