# JAVA SDK 使用手册
# 概述
maven 坐标
普通 SDK使用方式 (opens new window)
<dependency>
    <groupId>com.baidu.mapp</groupId>
    <artifactId>brcc-sdk</artifactId>
    <version>1.0.0</version>
</dependency>
spring boot 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提供的默认变更回调实现, 其中仅仅打印变更日志,您可以实现自己的变更业务。
