diff --git a/src/org/redkale/net/sncp/SncpClient.java b/src/org/redkale/net/sncp/SncpClient.java index 3b53e32d6..187995739 100644 --- a/src/org/redkale/net/sncp/SncpClient.java +++ b/src/org/redkale/net/sncp/SncpClient.java @@ -118,8 +118,8 @@ public final class SncpClient { protected final Consumer executor; public SncpClient(final String serviceName, final Consumer executor, final long serviceid, boolean remote, final Class serviceClass, - boolean onlySncpDyn, final InetSocketAddress clientAddress, final HashSet groups) { - if (serviceName.length() > 10) throw new RuntimeException(serviceClass + " @Resource name(" + serviceName + ") too long , must less 11"); + boolean onlySncpDyn, final InetSocketAddress clientAddress, final HashSet groups) { // 以下划线_开头的serviceName只能是被系统分配, 且长度可以超过11位 + if (serviceName.length() > 10 && serviceName.charAt(0) != '_') throw new RuntimeException(serviceClass + " @Resource name(" + serviceName + ") too long , must less 11"); this.remote = remote; this.executor = executor; this.serviceClass = serviceClass; diff --git a/src/org/redkale/service/Service.java b/src/org/redkale/service/Service.java index 94550a9fd..e93659943 100644 --- a/src/org/redkale/service/Service.java +++ b/src/org/redkale/service/Service.java @@ -9,6 +9,10 @@ import org.redkale.util.*; /** * 所有Service的实现类不得声明为final, 允许远程模式的public方法和public String name()方法都不能声明为final。 + * 注意: + * 1、"$"是一个很特殊的Service.name值 。 被标记为@Resource(name = "$") 的Service的资源名与所属父Service的资源名一致。 + * 2、以下划线_开头的Service.name只能是被系统分配, 且长度可以超过11位。使用者定义name不得以_开头。 + * *

* @Resource(name = ".*") * private HashMap nodemap;