From 6e3d2c5e2d9c9510336f79cae30a62c47bc6021d Mon Sep 17 00:00:00 2001 From: RedKale <22250530@qq.com> Date: Fri, 19 Feb 2016 17:03:36 +0800 Subject: [PATCH] --- src/org/redkale/boot/NodeServer.java | 16 +++------------- src/org/redkale/net/Transport.java | 16 +++------------- 2 files changed, 6 insertions(+), 26 deletions(-) diff --git a/src/org/redkale/boot/NodeServer.java b/src/org/redkale/boot/NodeServer.java index e45960a44..2082c7c66 100644 --- a/src/org/redkale/boot/NodeServer.java +++ b/src/org/redkale/boot/NodeServer.java @@ -22,6 +22,7 @@ import java.util.*; import java.util.concurrent.*; import java.util.function.Consumer; import java.util.logging.*; +import java.util.stream.*; import javax.annotation.*; import javax.persistence.*; import org.redkale.net.*; @@ -347,14 +348,7 @@ public abstract class NodeServer { if (groups == null || groups.isEmpty()) return null; List tmpgroup = new ArrayList<>(groups); Collections.sort(tmpgroup); //按字母排列顺序 - boolean flag = false; - StringBuilder sb = new StringBuilder(); - for (String g : tmpgroup) { - if (flag) sb.append(';'); - sb.append(g); - flag = true; - } - final String groupid = sb.toString(); + final String groupid = tmpgroup.stream().collect(Collectors.joining(";")); Transport transport = application.resourceFactory.find(groupid, Transport.class); if (transport != null) return transport; final List transports = new ArrayList<>(); @@ -362,11 +356,7 @@ public abstract class NodeServer { transports.add(loadTransport(group)); } Set addrs = new HashSet(); - for (Transport t : transports) { - for (InetSocketAddress addr : t.getRemoteAddresses()) { - addrs.add(addr); - } - } + transports.forEach(t -> addrs.addAll(Arrays.asList(t.getRemoteAddresses()))); Transport first = transports.get(0); Transport newTransport = new Transport(groupid, application.findGroupProtocol(first.getName()), application.getWatchFactory(), application.transportBufferPool, application.transportChannelGroup, this.sncpAddress, addrs); diff --git a/src/org/redkale/net/Transport.java b/src/org/redkale/net/Transport.java index 50b1a9135..20464fad4 100644 --- a/src/org/redkale/net/Transport.java +++ b/src/org/redkale/net/Transport.java @@ -11,6 +11,7 @@ import java.nio.channels.*; import java.util.*; import java.util.concurrent.*; import java.util.function.*; +import java.util.stream.*; import org.redkale.util.*; import org.redkale.watch.*; @@ -84,14 +85,7 @@ public final class Transport { tmpgroup.add(t.name); } Collections.sort(tmpgroup); //必须按字母排列顺序确保,相同内容的transport列表组合的name相同,而不会因为list的顺序不同产生不同的name - boolean flag = false; - StringBuilder sb = new StringBuilder(); - for (String g : tmpgroup) { - if (flag) sb.append(';'); - sb.append(g); - flag = true; - } - this.name = sb.toString(); + this.name = tmpgroup.stream().collect(Collectors.joining(";")); this.watch = first.watch; this.protocol = first.protocol; this.tcp = "TCP".equalsIgnoreCase(first.protocol); @@ -99,11 +93,7 @@ public final class Transport { this.bufferPool = first.bufferPool; this.clientAddress = first.clientAddress; Set addrs = new HashSet(); - for (Transport t : transports) { - for (InetSocketAddress addr : t.getRemoteAddresses()) { - addrs.add(addr); - } - } + transports.forEach(t -> addrs.addAll(Arrays.asList(t.getRemoteAddresses()))); updateRemoteAddresses(addrs); }