From a6b627863a28492b0c364f4116c542e182aba654 Mon Sep 17 00:00:00 2001 From: wentch <22250530@qq.com> Date: Thu, 17 Dec 2015 10:50:22 +0800 Subject: [PATCH] --- src/org/redkale/boot/NodeServer.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/org/redkale/boot/NodeServer.java b/src/org/redkale/boot/NodeServer.java index 4e47420a0..439d15b1d 100644 --- a/src/org/redkale/boot/NodeServer.java +++ b/src/org/redkale/boot/NodeServer.java @@ -193,7 +193,7 @@ public abstract class NodeServer { List sameGroupTransports = sncpSameGroupTransports; List diffGroupTransports = sncpDiffGroupTransports; try { - Field ts = src.getClass().getDeclaredField("_sameGroupTransports"); + Field ts = src.getClass().getDeclaredField("_sameGroupTransports"); ts.setAccessible(true); Transport[] lts = (Transport[]) ts.get(src); sameGroupTransports = Arrays.asList(lts); @@ -211,6 +211,16 @@ public abstract class NodeServer { field.set(src, source); rf.inject(source, self); // ((Service) source).init(null); + if (getSncpAddress() != null) { + NodeSncpServer sncpServer = null; + for (NodeServer node : application.servers) { + if (node.isSNCP() && getSncpAddress().equals(node.getSncpAddress())) { + sncpServer = (NodeSncpServer) node; + } + } + ServiceWrapper wrapper = new ServiceWrapper(CacheSourceService.class, (Service) source, resourceName, getSncpGroup(), sncpDefaultGroups, null); + sncpServer.getSncpServer().addService(wrapper); + } } catch (Exception e) { logger.log(Level.SEVERE, "DataSource inject error", e); }