diff --git a/src/org/redkale/boot/NodeHttpServer.java b/src/org/redkale/boot/NodeHttpServer.java index 91740f735..a19844813 100644 --- a/src/org/redkale/boot/NodeHttpServer.java +++ b/src/org/redkale/boot/NodeHttpServer.java @@ -346,6 +346,7 @@ public class NodeHttpServer extends NodeServer { } } } + if (agent != null) this.messageAgents.put(agent.getName(), agent); //输出信息 if (ss != null && !ss.isEmpty() && sb != null) { ss.sort((AbstractMap.SimpleEntry o1, AbstractMap.SimpleEntry o2) -> o1.getKey().compareTo(o2.getKey())); diff --git a/src/org/redkale/boot/NodeServer.java b/src/org/redkale/boot/NodeServer.java index 9732f33ca..a426f307e 100644 --- a/src/org/redkale/boot/NodeServer.java +++ b/src/org/redkale/boot/NodeServer.java @@ -85,6 +85,9 @@ public abstract class NodeServer { //远程模式的Service对象集合 protected final Set remoteServices = new LinkedHashSet<>(); + //MessageAgent对象集合 + protected final Map messageAgents = new HashMap<>(); + private volatile int maxClassNameLength = 0; private volatile int maxNameLength = 0; @@ -540,15 +543,15 @@ public abstract class NodeServer { agent.deregister(this, protocol, localServices, remoteServices); } } - if (application.messageAgents != null) { //MQ + if (!this.messageAgents.isEmpty()) { //MQ } } //Server.start执行之后调用 protected void postStartServer(Set localServices, Set remoteServices) { - if (application.messageAgents != null) { //MQ - final MessageAgent agent = application.messageAgents[0]; + if (!this.messageAgents.isEmpty()) { //MQ + this.messageAgents.values().forEach(agent -> agent.start()); } }