diff --git a/cluster-api/src/main/java/io/scalecube/cluster/ClusterConfig.java b/cluster-api/src/main/java/io/scalecube/cluster/ClusterConfig.java index d8d8f6ef..dc7ab51e 100644 --- a/cluster-api/src/main/java/io/scalecube/cluster/ClusterConfig.java +++ b/cluster-api/src/main/java/io/scalecube/cluster/ClusterConfig.java @@ -7,6 +7,7 @@ import io.scalecube.cluster.metadata.MetadataEncoder; import io.scalecube.cluster.transport.api.TransportConfig; import java.util.Optional; +import java.util.StringJoiner; import java.util.function.UnaryOperator; import reactor.core.Exceptions; @@ -34,6 +35,7 @@ public final class ClusterConfig implements Cloneable { private MetadataEncoder metadataEncoder = MetadataEncoder.INSTANCE; private MetadataDecoder metadataDecoder = MetadataDecoder.INSTANCE; + private String memberId; private String memberHost; private Integer memberPort; @@ -158,7 +160,7 @@ public String memberHost() { * Sets a memberHost. * * @param memberHost member host - * @return new {@code ClusterConfig} instance@return + * @return new {@code ClusterConfig} instance */ public ClusterConfig memberHost(String memberHost) { ClusterConfig c = clone(); @@ -166,6 +168,22 @@ public ClusterConfig memberHost(String memberHost) { return c; } + public String memberId() { + return memberId; + } + + /** + * Sets a memberId. + * + * @param memberId member id + * @return new {@code ClusterConfig} instance + */ + public ClusterConfig memberId(String memberId) { + ClusterConfig c = clone(); + c.memberId = memberId; + return c; + } + public Integer memberPort() { return memberPort; } @@ -262,29 +280,19 @@ public ClusterConfig clone() { @Override public String toString() { - return "ClusterConfig{" - + "metadata=" - + metadataAsString() - + ", metadataTimeout=" - + metadataTimeout - + ", metadataEncoder=" - + metadataEncoder - + ", metadataDecoder=" - + metadataDecoder - + ", memberHost='" - + memberHost - + '\'' - + ", memberPort=" - + memberPort - + ", transportConfig=" - + transportConfig - + ", failureDetectorConfig=" - + failureDetectorConfig - + ", gossipConfig=" - + gossipConfig - + ", membershipConfig=" - + membershipConfig - + '}'; + return new StringJoiner(", ", ClusterConfig.class.getSimpleName() + "[", "]") + .add("metadata=" + metadataAsString()) + .add("metadataTimeout=" + metadataTimeout) + .add("metadataEncoder=" + metadataEncoder) + .add("metadataDecoder=" + metadataDecoder) + .add("memberId='" + memberId + "'") + .add("memberHost='" + memberHost + "'") + .add("memberPort=" + memberPort) + .add("transportConfig=" + transportConfig) + .add("failureDetectorConfig=" + failureDetectorConfig) + .add("gossipConfig=" + gossipConfig) + .add("membershipConfig=" + membershipConfig) + .toString(); } private String metadataAsString() { diff --git a/cluster-api/src/main/java/io/scalecube/cluster/Member.java b/cluster-api/src/main/java/io/scalecube/cluster/Member.java index eec04fe8..fe9a0f22 100644 --- a/cluster-api/src/main/java/io/scalecube/cluster/Member.java +++ b/cluster-api/src/main/java/io/scalecube/cluster/Member.java @@ -68,6 +68,6 @@ public int hashCode() { @Override public String toString() { - return id + "@" + address; + return id + ":" + address.port(); } } diff --git a/cluster-api/src/main/java/io/scalecube/cluster/fdetector/FailureDetectorConfig.java b/cluster-api/src/main/java/io/scalecube/cluster/fdetector/FailureDetectorConfig.java index 9f1366cd..b02ba19b 100644 --- a/cluster-api/src/main/java/io/scalecube/cluster/fdetector/FailureDetectorConfig.java +++ b/cluster-api/src/main/java/io/scalecube/cluster/fdetector/FailureDetectorConfig.java @@ -1,5 +1,6 @@ package io.scalecube.cluster.fdetector; +import java.util.StringJoiner; import reactor.core.Exceptions; public final class FailureDetectorConfig implements Cloneable { @@ -121,13 +122,10 @@ public FailureDetectorConfig clone() { @Override public String toString() { - return "FailureDetectorConfig{" - + "pingInterval=" - + pingInterval - + ", pingTimeout=" - + pingTimeout - + ", pingReqMembers=" - + pingReqMembers - + '}'; + return new StringJoiner(", ", FailureDetectorConfig.class.getSimpleName() + "[", "]") + .add("pingInterval=" + pingInterval) + .add("pingTimeout=" + pingTimeout) + .add("pingReqMembers=" + pingReqMembers) + .toString(); } } diff --git a/cluster-api/src/main/java/io/scalecube/cluster/gossip/GossipConfig.java b/cluster-api/src/main/java/io/scalecube/cluster/gossip/GossipConfig.java index 45c8f595..ff8cba27 100644 --- a/cluster-api/src/main/java/io/scalecube/cluster/gossip/GossipConfig.java +++ b/cluster-api/src/main/java/io/scalecube/cluster/gossip/GossipConfig.java @@ -1,5 +1,6 @@ package io.scalecube.cluster.gossip; +import java.util.StringJoiner; import reactor.core.Exceptions; public final class GossipConfig implements Cloneable { @@ -115,13 +116,10 @@ public GossipConfig clone() { @Override public String toString() { - return "GossipConfig{" - + "gossipFanout=" - + gossipFanout - + ", gossipInterval=" - + gossipInterval - + ", gossipRepeatMult=" - + gossipRepeatMult - + '}'; + return new StringJoiner(", ", GossipConfig.class.getSimpleName() + "[", "]") + .add("gossipFanout=" + gossipFanout) + .add("gossipInterval=" + gossipInterval) + .add("gossipRepeatMult=" + gossipRepeatMult) + .toString(); } } diff --git a/cluster-api/src/main/java/io/scalecube/cluster/membership/MembershipConfig.java b/cluster-api/src/main/java/io/scalecube/cluster/membership/MembershipConfig.java index 7fb42f7c..f22a44d8 100644 --- a/cluster-api/src/main/java/io/scalecube/cluster/membership/MembershipConfig.java +++ b/cluster-api/src/main/java/io/scalecube/cluster/membership/MembershipConfig.java @@ -5,6 +5,7 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; +import java.util.StringJoiner; import reactor.core.Exceptions; public final class MembershipConfig implements Cloneable { @@ -167,18 +168,12 @@ public MembershipConfig clone() { @Override public String toString() { - return "MembershipConfig{" - + "seedMembers=" - + seedMembers - + ", syncInterval=" - + syncInterval - + ", syncTimeout=" - + syncTimeout - + ", suspicionMult=" - + suspicionMult - + ", syncGroup='" - + syncGroup - + '\'' - + '}'; + return new StringJoiner(", ", MembershipConfig.class.getSimpleName() + "[", "]") + .add("seedMembers=" + seedMembers) + .add("syncInterval=" + syncInterval) + .add("syncTimeout=" + syncTimeout) + .add("suspicionMult=" + suspicionMult) + .add("syncGroup='" + syncGroup + "'") + .toString(); } } diff --git a/cluster-api/src/main/java/io/scalecube/cluster/membership/MembershipEvent.java b/cluster-api/src/main/java/io/scalecube/cluster/membership/MembershipEvent.java index 2e127bae..b374a2b0 100644 --- a/cluster-api/src/main/java/io/scalecube/cluster/membership/MembershipEvent.java +++ b/cluster-api/src/main/java/io/scalecube/cluster/membership/MembershipEvent.java @@ -3,6 +3,7 @@ import io.scalecube.cluster.Member; import java.nio.ByteBuffer; import java.util.Objects; +import java.util.StringJoiner; /** * Event which is emitted on cluster membership changes when new member added, updated in the @@ -97,15 +98,12 @@ public ByteBuffer newMetadata() { @Override public String toString() { - return "MembershipEvent{type=" - + type - + ", member=" - + member - + ", newMetadata=" - + metadataAsString(newMetadata) - + ", oldMetadata=" - + metadataAsString(oldMetadata) - + '}'; + return new StringJoiner(", ", MembershipEvent.class.getSimpleName() + "[", "]") + .add("type=" + type) + .add("member=" + member) + .add("oldMetadata=" + metadataAsString(oldMetadata)) + .add("newMetadata=" + metadataAsString(newMetadata)) + .toString(); } private String metadataAsString(ByteBuffer metadata) { diff --git a/cluster-testlib/src/main/java/io/scalecube/cluster/utils/NetworkEmulator.java b/cluster-testlib/src/main/java/io/scalecube/cluster/utils/NetworkEmulator.java index 80f93ec3..82d7a758 100644 --- a/cluster-testlib/src/main/java/io/scalecube/cluster/utils/NetworkEmulator.java +++ b/cluster-testlib/src/main/java/io/scalecube/cluster/utils/NetworkEmulator.java @@ -6,6 +6,7 @@ import java.util.Arrays; import java.util.Collection; import java.util.Map; +import java.util.StringJoiner; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ThreadLocalRandom; import java.util.concurrent.atomic.AtomicLong; @@ -369,7 +370,10 @@ public long evaluateDelay() { @Override public String toString() { - return "OutboundSettings{loss=" + lossPercent + ", delay=" + meanDelay + '}'; + return new StringJoiner(", ", OutboundSettings.class.getSimpleName() + "[", "]") + .add("lossPercent=" + lossPercent) + .add("meanDelay=" + meanDelay) + .toString(); } } @@ -405,7 +409,9 @@ public boolean shallPass() { @Override public String toString() { - return "InboundSettings{shallPass=" + shallPass + '}'; + return new StringJoiner(", ", InboundSettings.class.getSimpleName() + "[", "]") + .add("shallPass=" + shallPass) + .toString(); } } } diff --git a/cluster/src/main/java/io/scalecube/cluster/ClusterImpl.java b/cluster/src/main/java/io/scalecube/cluster/ClusterImpl.java index 373d56b4..ad5df0f3 100644 --- a/cluster/src/main/java/io/scalecube/cluster/ClusterImpl.java +++ b/cluster/src/main/java/io/scalecube/cluster/ClusterImpl.java @@ -42,7 +42,7 @@ /** Cluster implementation. */ public final class ClusterImpl implements Cluster { - private static final Logger LOGGER = LoggerFactory.getLogger(ClusterImpl.class); + private static final Logger LOGGER = LoggerFactory.getLogger(Cluster.class); private static final Set SYSTEM_MESSAGES = Collections.unmodifiableSet( @@ -340,7 +340,11 @@ private Member createLocalMember(int listenPort) { .map(memberHost -> Address.create(memberHost, port)) .orElseGet(() -> Address.create(localAddress, listenPort)); - return new Member(memberAddress); + if (config.memberId() != null) { + return new Member(config.memberId(), memberAddress); + } else { + return new Member(memberAddress); + } } @Override @@ -433,7 +437,7 @@ private Mono doShutdown() { return Mono.defer( () -> { LOGGER.info("Cluster member {} is shutting down", localMember); - return Flux.concatDelayError(leaveCluster(localMember), dispose(), transport.stop()) + return Flux.concatDelayError(leaveCluster(), dispose(), transport.stop()) .then() .doFinally(s -> scheduler.dispose()) .doOnSuccess( @@ -445,21 +449,15 @@ private Mono doShutdown() { }); } - private Mono leaveCluster(Member member) { + private Mono leaveCluster() { return membership .leaveCluster() .subscribeOn(scheduler) - .doOnSuccess( - s -> - LOGGER.debug( - "Cluster member {} notified about his leaving and shutting down", member)) + .doOnSuccess(s -> LOGGER.debug("Cluster member {} has left a cluster", localMember)) .doOnError( ex -> LOGGER.info( - "Cluster member {} failed to spread leave notification " - + "to other cluster members: {}", - member, - ex.toString())) + "Cluster member {} failed on leaveCluster: {}", localMember, ex.toString())) .then(); } @@ -489,9 +487,9 @@ public boolean isShutdown() { public interface MonitorMBean { - Collection getMember(); + Collection getMemberId(); - String getMemberAsString(); + String getMemberIdAsString(); Collection getMetadata(); @@ -517,13 +515,13 @@ private static JmxMonitorMBean start(ClusterImpl cluster) throws Exception { } @Override - public Collection getMember() { + public Collection getMemberId() { return Collections.singleton(cluster.member().id()); } @Override - public String getMemberAsString() { - return getMember().iterator().next(); + public String getMemberIdAsString() { + return getMemberId().iterator().next(); } @Override diff --git a/cluster/src/main/java/io/scalecube/cluster/fdetector/FailureDetectorEvent.java b/cluster/src/main/java/io/scalecube/cluster/fdetector/FailureDetectorEvent.java index 336e7d13..39de6600 100644 --- a/cluster/src/main/java/io/scalecube/cluster/fdetector/FailureDetectorEvent.java +++ b/cluster/src/main/java/io/scalecube/cluster/fdetector/FailureDetectorEvent.java @@ -2,6 +2,7 @@ import io.scalecube.cluster.Member; import io.scalecube.cluster.membership.MemberStatus; +import java.util.StringJoiner; /** CLass contains result of ping check. */ public final class FailureDetectorEvent { @@ -24,6 +25,9 @@ public MemberStatus status() { @Override public String toString() { - return "FailureDetectorEvent{member=" + member + ", status=" + status + '}'; + return new StringJoiner(", ", FailureDetectorEvent.class.getSimpleName() + "[", "]") + .add("member=" + member) + .add("status=" + status) + .toString(); } } diff --git a/cluster/src/main/java/io/scalecube/cluster/fdetector/FailureDetectorImpl.java b/cluster/src/main/java/io/scalecube/cluster/fdetector/FailureDetectorImpl.java index 5c9c52a0..0ba35ab6 100644 --- a/cluster/src/main/java/io/scalecube/cluster/fdetector/FailureDetectorImpl.java +++ b/cluster/src/main/java/io/scalecube/cluster/fdetector/FailureDetectorImpl.java @@ -28,7 +28,7 @@ public final class FailureDetectorImpl implements FailureDetector { - private static final Logger LOGGER = LoggerFactory.getLogger(FailureDetectorImpl.class); + private static final Logger LOGGER = LoggerFactory.getLogger(FailureDetector.class); // Qualifiers diff --git a/cluster/src/main/java/io/scalecube/cluster/fdetector/PingData.java b/cluster/src/main/java/io/scalecube/cluster/fdetector/PingData.java index 8034c9cf..4a4ffff8 100644 --- a/cluster/src/main/java/io/scalecube/cluster/fdetector/PingData.java +++ b/cluster/src/main/java/io/scalecube/cluster/fdetector/PingData.java @@ -1,6 +1,7 @@ package io.scalecube.cluster.fdetector; import io.scalecube.cluster.Member; +import java.util.StringJoiner; /** DTO class. Supports FailureDetector messages (Ping, Ack, PingReq). */ final class PingData { @@ -79,15 +80,11 @@ public PingData withAckType(AckType ackType) { @Override public String toString() { - return "PingData{" - + "from=" - + from - + ", to=" - + to - + ", originalIssuer=" - + originalIssuer - + ", ackType=" - + ackType - + '}'; + return new StringJoiner(", ", PingData.class.getSimpleName() + "[", "]") + .add("from=" + from) + .add("to=" + to) + .add("originalIssuer=" + originalIssuer) + .add("ackType=" + ackType) + .toString(); } } diff --git a/cluster/src/main/java/io/scalecube/cluster/gossip/Gossip.java b/cluster/src/main/java/io/scalecube/cluster/gossip/Gossip.java index 48399d9f..146ebdce 100644 --- a/cluster/src/main/java/io/scalecube/cluster/gossip/Gossip.java +++ b/cluster/src/main/java/io/scalecube/cluster/gossip/Gossip.java @@ -2,6 +2,7 @@ import io.scalecube.cluster.transport.api.Message; import java.util.Objects; +import java.util.StringJoiner; /** Data model for gossip, include gossip id, qualifier and object need to disseminate. */ final class Gossip { @@ -44,6 +45,9 @@ public int hashCode() { @Override public String toString() { - return "Gossip{gossipId=" + gossipId + ", message=" + message + '}'; + return new StringJoiner(", ", Gossip.class.getSimpleName() + "[", "]") + .add("gossipId='" + gossipId + "'") + .add("message=" + message) + .toString(); } } diff --git a/cluster/src/main/java/io/scalecube/cluster/gossip/GossipRequest.java b/cluster/src/main/java/io/scalecube/cluster/gossip/GossipRequest.java index 840cfcb6..cc0ba7af 100644 --- a/cluster/src/main/java/io/scalecube/cluster/gossip/GossipRequest.java +++ b/cluster/src/main/java/io/scalecube/cluster/gossip/GossipRequest.java @@ -3,6 +3,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.StringJoiner; /** Gossip request which be transmitted through the network, contains list of gossips. */ final class GossipRequest { @@ -32,6 +33,9 @@ public String from() { @Override public String toString() { - return "GossipRequest{gossips=" + gossips + ", from=" + from + '}'; + return new StringJoiner(", ", GossipRequest.class.getSimpleName() + "[", "]") + .add("gossips=" + gossips) + .add("from='" + from + "'") + .toString(); } } diff --git a/cluster/src/main/java/io/scalecube/cluster/gossip/GossipState.java b/cluster/src/main/java/io/scalecube/cluster/gossip/GossipState.java index 2ac7ee31..49372ef2 100644 --- a/cluster/src/main/java/io/scalecube/cluster/gossip/GossipState.java +++ b/cluster/src/main/java/io/scalecube/cluster/gossip/GossipState.java @@ -3,6 +3,7 @@ import java.util.HashSet; import java.util.Objects; import java.util.Set; +import java.util.StringJoiner; /** Data related to gossip, maintained locally on each node. */ final class GossipState { @@ -39,12 +40,10 @@ public boolean isInfected(String memberId) { @Override public String toString() { - return "GossipState{gossip=" - + gossip - + ", infectionPeriod=" - + infectionPeriod - + ", infected=" - + infected - + '}'; + return new StringJoiner(", ", GossipState.class.getSimpleName() + "[", "]") + .add("gossip=" + gossip) + .add("infectionPeriod=" + infectionPeriod) + .add("infected=" + infected) + .toString(); } } diff --git a/cluster/src/main/java/io/scalecube/cluster/membership/MembershipPingData.java b/cluster/src/main/java/io/scalecube/cluster/membership/MembershipPingData.java index a78ff728..bf569c29 100644 --- a/cluster/src/main/java/io/scalecube/cluster/membership/MembershipPingData.java +++ b/cluster/src/main/java/io/scalecube/cluster/membership/MembershipPingData.java @@ -1,6 +1,7 @@ package io.scalecube.cluster.membership; import io.scalecube.cluster.Member; +import java.util.StringJoiner; final class MembershipPingData { /** Message's destination address. */ @@ -19,9 +20,8 @@ public Member getTarget() { @Override public String toString() { - final StringBuilder sb = new StringBuilder("MembershipPingData{"); - sb.append("target=").append(target); - sb.append('}'); - return sb.toString(); + return new StringJoiner(", ", MembershipPingData.class.getSimpleName() + "[", "]") + .add("target=" + target) + .toString(); } } diff --git a/cluster/src/main/java/io/scalecube/cluster/membership/MembershipProtocolImpl.java b/cluster/src/main/java/io/scalecube/cluster/membership/MembershipProtocolImpl.java index d385d5e6..212374d4 100644 --- a/cluster/src/main/java/io/scalecube/cluster/membership/MembershipProtocolImpl.java +++ b/cluster/src/main/java/io/scalecube/cluster/membership/MembershipProtocolImpl.java @@ -51,7 +51,7 @@ public final class MembershipProtocolImpl implements MembershipProtocol { - private static final Logger LOGGER = LoggerFactory.getLogger(MembershipProtocolImpl.class); + private static final Logger LOGGER = LoggerFactory.getLogger(MembershipProtocol.class); private static final Logger LOGGER_MEMBERSHIP = LoggerFactory.getLogger("io.scalecube.cluster.Membership"); diff --git a/cluster/src/main/java/io/scalecube/cluster/membership/SyncData.java b/cluster/src/main/java/io/scalecube/cluster/membership/SyncData.java index b5209335..ba6a0741 100644 --- a/cluster/src/main/java/io/scalecube/cluster/membership/SyncData.java +++ b/cluster/src/main/java/io/scalecube/cluster/membership/SyncData.java @@ -3,6 +3,7 @@ import java.util.ArrayList; import java.util.Collection; import java.util.List; +import java.util.StringJoiner; /** * A class containing full membership table from specific member and used full synchronization @@ -36,6 +37,9 @@ public String getSyncGroup() { @Override public String toString() { - return "SyncData{membership=" + membership + ", syncGroup=" + syncGroup + '}'; + return new StringJoiner(", ", SyncData.class.getSimpleName() + "[", "]") + .add("membership=" + membership) + .add("syncGroup='" + syncGroup + "'") + .toString(); } } diff --git a/cluster/src/main/java/io/scalecube/cluster/metadata/GetMetadataRequest.java b/cluster/src/main/java/io/scalecube/cluster/metadata/GetMetadataRequest.java index 2580592e..1645242f 100644 --- a/cluster/src/main/java/io/scalecube/cluster/metadata/GetMetadataRequest.java +++ b/cluster/src/main/java/io/scalecube/cluster/metadata/GetMetadataRequest.java @@ -2,6 +2,7 @@ import io.scalecube.cluster.Member; import java.util.Objects; +import java.util.StringJoiner; /** DTO class. Stands for remote request on getting metadata in remote MetadataStore. */ final class GetMetadataRequest { @@ -22,6 +23,8 @@ public Member getMember() { @Override public String toString() { - return "GetMetadataRequest{" + "member=" + member + '}'; + return new StringJoiner(", ", GetMetadataRequest.class.getSimpleName() + "[", "]") + .add("member=" + member) + .toString(); } } diff --git a/cluster/src/main/java/io/scalecube/cluster/metadata/GetMetadataResponse.java b/cluster/src/main/java/io/scalecube/cluster/metadata/GetMetadataResponse.java index 99a3e59e..9166617a 100644 --- a/cluster/src/main/java/io/scalecube/cluster/metadata/GetMetadataResponse.java +++ b/cluster/src/main/java/io/scalecube/cluster/metadata/GetMetadataResponse.java @@ -2,6 +2,7 @@ import io.scalecube.cluster.Member; import java.nio.ByteBuffer; +import java.util.StringJoiner; /** * DTO class. Stands for response for preceding remote request on getting metadata in remote @@ -33,6 +34,9 @@ ByteBuffer getMetadata() { @Override public String toString() { - return "GetMetadataResponse{" + "member=" + member + ", metadata=" + metadata.remaining() + '}'; + return new StringJoiner(", ", GetMetadataResponse.class.getSimpleName() + "[", "]") + .add("member=" + member) + .add("metadata=" + metadata.remaining()) + .toString(); } } diff --git a/cluster/src/main/java/io/scalecube/cluster/metadata/MetadataStoreImpl.java b/cluster/src/main/java/io/scalecube/cluster/metadata/MetadataStoreImpl.java index 4b58e2cb..f63b3934 100644 --- a/cluster/src/main/java/io/scalecube/cluster/metadata/MetadataStoreImpl.java +++ b/cluster/src/main/java/io/scalecube/cluster/metadata/MetadataStoreImpl.java @@ -21,7 +21,7 @@ public class MetadataStoreImpl implements MetadataStore { - private static final Logger LOGGER = LoggerFactory.getLogger(MetadataStoreImpl.class); + private static final Logger LOGGER = LoggerFactory.getLogger(MetadataStore.class); // Qualifiers diff --git a/transport-parent/transport-api/src/main/java/io/scalecube/cluster/transport/api/Message.java b/transport-parent/transport-api/src/main/java/io/scalecube/cluster/transport/api/Message.java index b7360750..a4da77bb 100644 --- a/transport-parent/transport-api/src/main/java/io/scalecube/cluster/transport/api/Message.java +++ b/transport-parent/transport-api/src/main/java/io/scalecube/cluster/transport/api/Message.java @@ -5,6 +5,7 @@ import java.util.HashMap; import java.util.Map; import java.util.Objects; +import java.util.StringJoiner; /** * The Class Message introduces generic protocol used for point to point communication by transport. @@ -184,7 +185,11 @@ public Address sender() { @Override public String toString() { - return "Message {headers: " + headers + ", sender: " + sender + ", data: " + data + '}'; + return new StringJoiner(", ", Message.class.getSimpleName() + "[", "]") + .add("sender=" + sender) + .add("headers=" + headers) + .add("data=" + data) + .toString(); } public static class Builder { diff --git a/transport-parent/transport-api/src/main/java/io/scalecube/cluster/transport/api/TransportConfig.java b/transport-parent/transport-api/src/main/java/io/scalecube/cluster/transport/api/TransportConfig.java index 5b6acf5a..be14c5e4 100644 --- a/transport-parent/transport-api/src/main/java/io/scalecube/cluster/transport/api/TransportConfig.java +++ b/transport-parent/transport-api/src/main/java/io/scalecube/cluster/transport/api/TransportConfig.java @@ -1,5 +1,6 @@ package io.scalecube.cluster.transport.api; +import java.util.StringJoiner; import reactor.core.Exceptions; public final class TransportConfig implements Cloneable { @@ -143,17 +144,12 @@ public TransportConfig clone() { @Override public String toString() { - return "TransportConfig{" - + "host=" - + host - + ", port=" - + port - + ", connectTimeout=" - + connectTimeout - + ", messageCodec=" - + messageCodec - + ", maxFrameLength=" - + maxFrameLength - + '}'; + return new StringJoiner(", ", TransportConfig.class.getSimpleName() + "[", "]") + .add("host='" + host + "'") + .add("port=" + port) + .add("connectTimeout=" + connectTimeout) + .add("messageCodec=" + messageCodec) + .add("maxFrameLength=" + maxFrameLength) + .toString(); } } diff --git a/transport-parent/transport-netty/src/main/java/io/scalecube/transport/netty/TransportImpl.java b/transport-parent/transport-netty/src/main/java/io/scalecube/transport/netty/TransportImpl.java index 90fd82fd..ea719185 100644 --- a/transport-parent/transport-netty/src/main/java/io/scalecube/transport/netty/TransportImpl.java +++ b/transport-parent/transport-netty/src/main/java/io/scalecube/transport/netty/TransportImpl.java @@ -44,7 +44,7 @@ public final class TransportImpl implements Transport { - private static final Logger LOGGER = LoggerFactory.getLogger(TransportImpl.class); + private static final Logger LOGGER = LoggerFactory.getLogger(Transport.class); private final TransportConfig config; private final LoopResources loopResources;