This commit is contained in:
Redkale
2020-05-27 11:23:07 +08:00
parent ec4ec2ff77
commit e5bd85e9aa
3 changed files with 48 additions and 1 deletions

View File

@@ -50,10 +50,32 @@
value 类名必须是org.redkale.boot.ClusterAgent的子类
protocols: 服务发现可以处理的协议, 默认值为: SNCP, 多个协议用分号;隔开
ports: 服务发现可以处理的端口, 多个端口用分号;隔开
-->
<!--
<cluster value="org.redkalex.cluster.ConsulClusterAgent" protocols="SNCP" ports="7070;7071">
<property name="xxxxxx" value="XXXXXXXX"/>
</cluster>
-->
<!--
MQ管理接口配置
name: MQ名称长度不能超过11个字节. 默认为空字符串。 注意: name不能包含$符号。
value 实现类名必须是org.redkale.boot.MessageAgent的子类
MQ节点下的子节点配置没有固定格式, 根据MessageAgent实现方的定义来配置
-->
<!--
<mq name="kafka" value="org.redkalex.mq.kafka.KafkaMessageAgent">
<servers value="127.0.0.1:9101"/>
<consumer>
<property name="xxxxxx" value="XXXXXXXX"/>
</consumer>
<producer>
<property name="xxxxxx" value="XXXXXXXX"/>
</producer>
<streams>
<property name="xxxxxx" value="XXXXXXXX"/>
</streams>
</mq>
-->
<!--
一个组包含多个node 同一Service服务可以由多个进程提供这些进程称为一个GROUP且同一GROUP内的进程必须在同一机房或局域网内
一个group节点对应一个 Transport 对象。

View File

@@ -0,0 +1,18 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package org.redkale.boot;
/**
* MQ管理
*
*
* 详情见: https://redkale.org
*
* @author zhangjx
*/
public abstract class MessageAgent {
}

View File

@@ -75,6 +75,9 @@ public abstract class NodeServer {
//加载server节点后的拦截器
protected NodeInterceptor interceptor;
//MQ管理
protected MessageAgent messageAgent;
//供interceptor使用的Service对象集合
protected final Set<Service> interceptorServices = new LinkedHashSet<>();
@@ -364,7 +367,7 @@ public abstract class NodeServer {
if (Sncp.isRemote(nodeService)) {
remoteServices.add(nodeService);
} else {
if (field != null) rf.inject(nodeService); //动态加载的Service也存在按需加载的注入资源
rf.inject(nodeService); //动态加载的Service也存在按需加载的注入资源
localServices.add(nodeService);
interceptorServices.add(nodeService);
if (consumer != null) consumer.accept(nodeService);
@@ -659,6 +662,10 @@ public abstract class NodeServer {
return logger;
}
public MessageAgent getMessageAgent() {
return messageAgent;
}
public String getSncpGroup() {
return sncpGroup;
}