Solon v3.0.3

注解和通用客户端

</> markdown

1、注解清单

注解适用范围说明
@CloudConfig类、字段、参数配置注入
@CloudEvent事件
@CloudJob类、函数任务
@CloudBreaker类、函数融断器

2、通用客户端

通用客户端,提供了所有不同框架的统一使用界面,同时提供了自由手动操控的机制。当然,注解支持不会少!

//手动获取配置(不管背后是哪个配置框架,都是如此)
 Config val1 = CloudClient.config().pull("demo.ds");
 
 //手动生成ID
 long val2 = CloudClient.id().generate();
 
 //手动发布事件(不管背后是哪个消息队列,都是如此)
 CloudClient.event().publish(new Event("demo.user.login","1"));
 
 //分布式锁
 if(CloudClient.lock().tryLock("demo.lock.key")){
     //...业务处理
     CloudClient.lock().unlock("demo.lock.key");
 }
 
 //分布式名单
 if(CloudClient.list().inListOfIp("safelist",ip)){
     //...业务处理
 }
 
 //分布式文件
 String demoJson= CloudClient.file().get("demo.file.key").bodyAsString();
 
 //分布式计数
 CloudClient.metric().addCount("demo","demo.api.user.add", 1);
 
 //等等

3、注解能力开关

开关,应该在应用初始化时配置。

//配置:是否启用 @CloudConfig 注解(默认,开启)
CloudClient.enableConfig();

//配置:是否启用 @CloudEvent 注解(默认,开启)
CloudClient.enableEvent();

//配置:是否启用 @CloudBreaker 注解(默认,开启)
CloudClient.enableBreaker();

//配置:是否启用 @CloudJob 注解(默认,开启)
CloudClient.enableJob();

示例:

public class App {
    public static void main(String[] args) {
        Solon.start(app.class, args, app->{
            CloudClient.enableEvent(false);
        });
    }
}