polaris-solon-cloud-plugin
此插件,由社区成员(4&79)贡献
<dependency>
<groupId>org.noear</groupId>
<artifactId>polaris-solon-cloud-plugin</artifactId>
</dependency>
1、描述
分布式扩展插件。基于 polaris(代码仓库)适配的 solon cloud 插件。提供配置服务、注册与发现服务。v1.11.6 后支持
2、能力支持
云端能力接口 | 说明 | 备注 |
---|---|---|
CloudConfigService | 云端配置服务 | 支持 namespace;支持 group;不支持写操作 |
CloudDiscoveryService | 云端注册与发现服务 | 支持 namespace;支持 group |
3、配置示例
solon.app:
name: "demoapp"
group: "demo"
namespace: "test"
solon.cloud.polaris:
config:
server: localhost:8093 #polaris 配置服务地址
load: "demoapp.yml" #加载配置到应用属性(多个以","隔开)
discovery:
server: localhost:8091 #polaris 发现服务地址
更丰富的配置:
solon.app:
name: "demoapp"
group: "demo"
meta: #添加应用元信息(可选)
version: "v1.0.2"
author: "noear"
tags: "aaa,bbb,ccc" #添加应用标签(可选)
solon.cloud.polaris:
username: polaris #polaris链接账号
password: polaris #polaris链接密码
config:
server: localhost:8093 #polaris 配置服务地址
load: "demoapp.yml" #加载配置到应用属性(多个以","隔开)
discovery:
server: localhost:8091 #polaris 发现服务地址
提醒:通过 "...config.load" 加载的配置,会进入 Solon.cfg() 可使用 @Inject 注入
4、代码应用
public class DemoApp {
public void main(String[] args) {
//启动时,服务会自动注册
SolonApp app = Solon.start(DemoApp.class, args);
}
}
@Slf4j
@Controller
public class DemoController{
//配置服务的功能(注解模式) //只有接收实体为单例,才能用 autoRefreshed
@CloudConfig(name = "demoTitle", autoRefreshed = true)
String demoTitle;
//配置服务的功能(注解模式)
@CloudConfig("demoDb")
DbContext demoDb;
@NamiClient //RPC服务发现的功能(注解模式)
RockService rockService;
@Mapping("/")
public void test(){
//配置服务:使用配置的数据库上下文进行查询
Map map = demoDb.table("water_reg_service").limit(1).selectMap("*");
//Rpc发现服务:调用Rpc接口
AppModel app = rockService.getAppById(12);
}
}
//配置订阅:关注配置的实时更新
@CloudConfig("demoDb")
public class TestConfigHandler implements CloudConfigHandler {
@Override
public void handler(Config config) {
}
}
5、演示项目
暂无...