From ea01415b5f772cd3c53c58b03475b3d63d70bf38 Mon Sep 17 00:00:00 2001 From: redkale Date: Sat, 7 Sep 2024 09:29:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/redkale/boot/ApiDocCommand.java | 3 +- .../java/org/redkale/boot/ClassFilter.java | 33 ++++++++++++------- .../org/redkale/boot/LoggingBaseHandler.java | 3 +- .../org/redkale/boot/LoggingFileHandler.java | 15 ++++++--- .../redkale/boot/LoggingSearchHandler.java | 6 ++-- .../java/org/redkale/boot/NodeHttpServer.java | 3 +- .../java/org/redkale/convert/DeMember.java | 16 +++++---- .../java/org/redkale/convert/EnMember.java | 18 ++++++---- src/main/java/org/redkale/convert/Reader.java | 3 +- .../java/org/redkale/net/AsyncConnection.java | 6 ++-- .../java/org/redkale/net/AsyncIOGroup.java | 24 +++++++------- src/main/java/org/redkale/net/Request.java | 4 ++- src/main/java/org/redkale/net/Response.java | 9 +++-- src/main/java/org/redkale/net/Servlet.java | 6 ++-- src/main/java/org/redkale/net/WorkThread.java | 6 ++-- .../java/org/redkale/net/client/Client.java | 16 +++++---- .../redkale/net/client/ClientConnection.java | 6 ++-- .../redkale/net/client/ClientResponse.java | 3 +- .../org/redkale/net/http/HttpResponse.java | 3 +- .../redkale/net/http/WebSocketServlet.java | 3 +- .../java/org/redkale/util/ByteBufferPool.java | 2 +- 21 files changed, 119 insertions(+), 69 deletions(-) diff --git a/src/main/java/org/redkale/boot/ApiDocCommand.java b/src/main/java/org/redkale/boot/ApiDocCommand.java index 92756f18c..8121d2028 100644 --- a/src/main/java/org/redkale/boot/ApiDocCommand.java +++ b/src/main/java/org/redkale/boot/ApiDocCommand.java @@ -42,7 +42,8 @@ public final class ApiDocCommand { private static final java.lang.reflect.Type TYPE_RETRESULT_LONG = new TypeToken>() {}.getType(); - private final Application app; // Application全局对象 + // Application全局对象 + private final Application app; public ApiDocCommand(Application app) { this.app = app; diff --git a/src/main/java/org/redkale/boot/ClassFilter.java b/src/main/java/org/redkale/boot/ClassFilter.java index 7b58367b6..8fbbc2bb2 100644 --- a/src/main/java/org/redkale/boot/ClassFilter.java +++ b/src/main/java/org/redkale/boot/ClassFilter.java @@ -43,27 +43,38 @@ public final class ClassFilter { private Predicate expectPredicate; - private boolean refused; // 是否拒绝所有数据,设置true,则其他规则失效,都是拒绝. + // 是否拒绝所有数据,设置true,则其他规则失效,都是拒绝. + private boolean refused; - private Class superClass; // 符合的父类型。不为空时,扫描结果的class必须是superClass的子类 + // 符合的父类型。不为空时,扫描结果的class必须是superClass的子类 + private Class superClass; - private Class[] excludeSuperClasses; // 不符合的父类型。 + // 不符合的父类型。 + private Class[] excludeSuperClasses; - private Class annotationClass; // 符合的注解。不为空时,扫描结果的class必须包含该注解 + // 符合的注解。不为空时,扫描结果的class必须包含该注解 + private Class annotationClass; - private Pattern[] includePatterns; // 符合的className正则表达式 + // 符合的className正则表达式 + private Pattern[] includePatterns; - private Pattern[] excludePatterns; // 拒绝的className正则表达式 + // 拒绝的className正则表达式 + private Pattern[] excludePatterns; - private Set privilegeIncludes; // 特批符合条件的className + // 特批符合条件的className + private Set privilegeIncludes; - private Set privilegeExcludes; // 特批拒绝条件的className + // 特批拒绝条件的className + private Set privilegeExcludes; - private List ors; // 或关系的其他ClassFilter + // 或关系的其他ClassFilter + private List ors; - private List ands; // 与关系的其他ClassFilter + // 与关系的其他ClassFilter + private List ands; - private AnyValue conf; // 基本配置信息, 当符合条件时将conf的属性赋值到FilterEntry中去。 + // 基本配置信息, 当符合条件时将conf的属性赋值到FilterEntry中去。 + private AnyValue conf; private final ClassLoader classLoader; diff --git a/src/main/java/org/redkale/boot/LoggingBaseHandler.java b/src/main/java/org/redkale/boot/LoggingBaseHandler.java index 8eb620b26..88e7866d2 100644 --- a/src/main/java/org/redkale/boot/LoggingBaseHandler.java +++ b/src/main/java/org/redkale/boot/LoggingBaseHandler.java @@ -28,7 +28,8 @@ public abstract class LoggingBaseHandler extends Handler { public static final String FORMATTER_FORMAT3 = "[%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS.%tL] [%7$s] %8$s %4$s %2$s\r\n%5$s%6$s\r\n"; - static boolean traceEnable = false; // 防止设置system.property前调用Traces类导致enable提前初始化 + // 防止设置system.property前调用Traces类导致enable提前初始化 + static boolean traceEnable = false; /** 默认的日志时间格式化类 与SimpleFormatter的区别在于level不使用本地化 */ public static class LoggingFormater extends Formatter { diff --git a/src/main/java/org/redkale/boot/LoggingFileHandler.java b/src/main/java/org/redkale/boot/LoggingFileHandler.java index 55f550635..95bdfffa3 100644 --- a/src/main/java/org/redkale/boot/LoggingFileHandler.java +++ b/src/main/java/org/redkale/boot/LoggingFileHandler.java @@ -73,19 +73,24 @@ public class LoggingFileHandler extends LoggingBaseHandler { protected String pattern; - protected String patternDateFormat; // 需要时间格式化 + // 需要时间格式化 + protected String patternDateFormat; - protected String unusual; // 不为null表示将 WARNING、SEVERE 级别的日志写入单独的文件中 + // 不为null表示将 WARNING、SEVERE 级别的日志写入单独的文件中 + protected String unusual; - protected String unusualDateFormat; // 需要时间格式化 + // 需要时间格式化 + protected String unusualDateFormat; - private int limit; // 文件大小限制 + // 文件大小限制 + private int limit; private final AtomicInteger logIndex = new AtomicInteger(); private final AtomicInteger logUnusualIndex = new AtomicInteger(); - private int count = 1; // 文件限制 + // 文件限制 + private int count = 1; private long tomorrow; diff --git a/src/main/java/org/redkale/boot/LoggingSearchHandler.java b/src/main/java/org/redkale/boot/LoggingSearchHandler.java index ca02aa3e5..e704db34c 100644 --- a/src/main/java/org/redkale/boot/LoggingSearchHandler.java +++ b/src/main/java/org/redkale/boot/LoggingSearchHandler.java @@ -34,9 +34,11 @@ public class LoggingSearchHandler extends LoggingBaseHandler { protected final AtomicInteger retryCount = new AtomicInteger(3); - protected String tag = DEFAULT_TABLE_NAME; // 用于表前缀, 默认是 + // 用于表前缀, 默认是 + protected String tag = DEFAULT_TABLE_NAME; - protected String tagDateFormat; // 需要时间格式化 + // 需要时间格式化 + protected String tagDateFormat; protected String pattern; diff --git a/src/main/java/org/redkale/boot/NodeHttpServer.java b/src/main/java/org/redkale/boot/NodeHttpServer.java index 6fd542834..5af33a952 100644 --- a/src/main/java/org/redkale/boot/NodeHttpServer.java +++ b/src/main/java/org/redkale/boot/NodeHttpServer.java @@ -34,7 +34,8 @@ import org.redkale.watch.*; @NodeProtocol("HTTP") public class NodeHttpServer extends NodeServer { - protected final boolean rest; // 是否加载REST服务, 为true加载rest节点信息并将所有可REST化的Service生成RestServlet + // 是否加载REST服务, 为true加载rest节点信息并将所有可REST化的Service生成RestServlet + protected final boolean rest; protected final HttpServer httpServer; diff --git a/src/main/java/org/redkale/convert/DeMember.java b/src/main/java/org/redkale/convert/DeMember.java index d66f8aebc..216ca1115 100644 --- a/src/main/java/org/redkale/convert/DeMember.java +++ b/src/main/java/org/redkale/convert/DeMember.java @@ -22,17 +22,22 @@ import org.redkale.util.Attribute; @SuppressWarnings("unchecked") public final class DeMember { - final Field field; // 对应类成员的Field, 也可能为null + // 对应类成员的Field, 也可能为null + final Field field; - final Method method; // 对应类成员的Method也可能为null + // 对应类成员的Method也可能为null + final Method method; final String comment; - protected int index; // 从1开始 + // 从1开始 + protected int index; - protected int position; // 从1开始 + // 从1开始 + protected int position; - protected int tag; // 主要给protobuf使用 从1开始 + // 主要给protobuf使用 从1开始 + protected int tag; protected final Attribute attribute; @@ -42,7 +47,6 @@ public final class DeMember { this.attribute = attribute; this.tag = tag; this.index = tag; - this.position = position; this.decoder = decoder; this.comment = ""; this.field = null; diff --git a/src/main/java/org/redkale/convert/EnMember.java b/src/main/java/org/redkale/convert/EnMember.java index 6c8ccf96b..462f55bea 100644 --- a/src/main/java/org/redkale/convert/EnMember.java +++ b/src/main/java/org/redkale/convert/EnMember.java @@ -38,17 +38,23 @@ public final class EnMember { final byte[] jsonFieldNameBytes; - final Field field; // 对应类成员的Field也可能为null + // 对应类成员的Field也可能为null + final Field field; - final Method method; // 对应类成员的Method也可能为null + // 对应类成员的Method也可能为null + final Method method; - final BiFunction fieldFunc; // 一般为null + // 一般为null + final BiFunction fieldFunc; - int index; // 从1开始 + // 从1开始 + int index; - int position; // 从1开始 + // 从1开始 + int position; - int tag; // 主要给protobuf使用 从1开始 + // 主要给protobuf使用 从1开始 + int tag; public EnMember(Attribute attribute, int tag, Encodeable encoder) { this.attribute = attribute; diff --git a/src/main/java/org/redkale/convert/Reader.java b/src/main/java/org/redkale/convert/Reader.java index cefca37b3..75288a35c 100644 --- a/src/main/java/org/redkale/convert/Reader.java +++ b/src/main/java/org/redkale/convert/Reader.java @@ -29,7 +29,8 @@ public abstract class Reader { public static final short SIGN_NOLENGTH = -2; - public static final short SIGN_NOLENBUTBYTES = -3; // 目前只适合于protobuf的boolean[]...double[]类型 + // 目前只适合于protobuf的boolean[]...double[]类型 + public static final short SIGN_NOLENBUTBYTES = -3; /** * 设置Reader的内容,通常结合对象池使用 diff --git a/src/main/java/org/redkale/net/AsyncConnection.java b/src/main/java/org/redkale/net/AsyncConnection.java index b5cc4dad3..347194412 100644 --- a/src/main/java/org/redkale/net/AsyncConnection.java +++ b/src/main/java/org/redkale/net/AsyncConnection.java @@ -41,9 +41,11 @@ public abstract class AsyncConnection implements Channel, AutoCloseable { protected volatile boolean writePending; - private Map attributes; // 用于存储绑定在Connection上的对象集合 + // 用于存储绑定在Connection上的对象集合 + private Map attributes; - private Object subobject; // 用于存储绑定在Connection上的对象, 同attributes, 只绑定单个对象时尽量使用subobject而非attributes + // 用于存储绑定在Connection上的对象, 同attributes, 只绑定单个对象时尽量使用subobject而非attributes + private Object subobject; protected final AsyncIOGroup ioGroup; diff --git a/src/main/java/org/redkale/net/AsyncIOGroup.java b/src/main/java/org/redkale/net/AsyncIOGroup.java index 27275cf28..b49404cea 100644 --- a/src/main/java/org/redkale/net/AsyncIOGroup.java +++ b/src/main/java/org/redkale/net/AsyncIOGroup.java @@ -220,17 +220,17 @@ public class AsyncIOGroup extends AsyncGroup { AsyncIOThread currThread = AsyncIOThread.currentAsyncIOThread(); if (currThread != null) { if (this.ioReadThreads[0].getThreadGroup() == currThread.getThreadGroup()) { - for (int i = 0; i < this.ioReadThreads.length; i++) { - if (this.ioReadThreads[i].index() == currThread.index()) { - readThread = this.ioReadThreads[i]; + for (AsyncIOThread ioReadThread : this.ioReadThreads) { + if (ioReadThread.index() == currThread.index()) { + readThread = ioReadThread; break; } } } if (this.ioWriteThreads[0].getThreadGroup() == currThread.getThreadGroup()) { - for (int i = 0; i < this.ioWriteThreads.length; i++) { - if (this.ioWriteThreads[i].index() == currThread.index()) { - writeThread = this.ioWriteThreads[i]; + for (AsyncIOThread ioWriteThread : this.ioWriteThreads) { + if (ioWriteThread.index() == currThread.index()) { + writeThread = ioWriteThread; break; } } @@ -299,15 +299,15 @@ public class AsyncIOGroup extends AsyncGroup { AsyncIOThread writeThread = null; AsyncIOThread currThread = AsyncIOThread.currentAsyncIOThread(); if (currThread != null) { - for (int i = 0; i < this.ioReadThreads.length; i++) { - if (this.ioReadThreads[i].index() == currThread.index()) { - readThread = this.ioReadThreads[i]; + for (AsyncIOThread ioReadThread : this.ioReadThreads) { + if (ioReadThread.index() == currThread.index()) { + readThread = ioReadThread; break; } } - for (int i = 0; i < this.ioWriteThreads.length; i++) { - if (this.ioWriteThreads[i].index() == currThread.index()) { - writeThread = this.ioWriteThreads[i]; + for (AsyncIOThread ioWriteThread : this.ioWriteThreads) { + if (ioWriteThread.index() == currThread.index()) { + writeThread = ioWriteThread; break; } } diff --git a/src/main/java/org/redkale/net/Request.java b/src/main/java/org/redkale/net/Request.java index 56dfab458..2d47a154d 100644 --- a/src/main/java/org/redkale/net/Request.java +++ b/src/main/java/org/redkale/net/Request.java @@ -52,7 +52,9 @@ public abstract class Request { protected AsyncConnection channel; - /** properties 与 attributes 的区别在于:调用recycle时, attributes会被清空而properties会保留; properties 通常存放需要永久绑定在request里的一些对象 */ + // properties与attributes的区别在于: + // 调用recycle时, attributes会被清空而properties会保留; + // properties 通常存放需要永久绑定在request里的一些对象 private final Map properties = new HashMap<>(); /** 每次新请求都会清空 */ diff --git a/src/main/java/org/redkale/net/Response.java b/src/main/java/org/redkale/net/Response.java index 3be2f15ad..c1953342f 100644 --- a/src/main/java/org/redkale/net/Response.java +++ b/src/main/java/org/redkale/net/Response.java @@ -28,9 +28,11 @@ public abstract class Response> { protected final C context; - protected Supplier responseSupplier; // 虚拟构建的Response可能不存在responseSupplier + // 虚拟构建的Response可能不存在responseSupplier + protected Supplier responseSupplier; - protected Consumer responseConsumer; // 虚拟构建的Response可能不存在responseConsumer + // 虚拟构建的Response可能不存在responseConsumer + protected Consumer responseConsumer; protected final ExecutorService workExecutor; @@ -44,7 +46,8 @@ public abstract class Response> { protected boolean inNonBlocking = true; - protected Object output; // 输出的结果对象 + // 输出的结果对象 + protected Object output; protected BiConsumer> recycleListener; diff --git a/src/main/java/org/redkale/net/Servlet.java b/src/main/java/org/redkale/net/Servlet.java index 92f17a8f0..92aea0d9e 100644 --- a/src/main/java/org/redkale/net/Servlet.java +++ b/src/main/java/org/redkale/net/Servlet.java @@ -20,9 +20,11 @@ import org.redkale.util.AnyValue; */ public abstract class Servlet, P extends Response> { - AnyValue _conf; // 当前Servlet的配置 + // 当前Servlet的配置 + AnyValue _conf; - protected boolean _nonBlocking; // 当前Servlet.execute方法是否为非阻塞模式 + // 当前Servlet.execute方法是否为非阻塞模式 + protected boolean _nonBlocking; // Server执行start时运行此方法 public void init(C context, AnyValue config) {} diff --git a/src/main/java/org/redkale/net/WorkThread.java b/src/main/java/org/redkale/net/WorkThread.java index 524c6539e..f3608d7e1 100644 --- a/src/main/java/org/redkale/net/WorkThread.java +++ b/src/main/java/org/redkale/net/WorkThread.java @@ -22,9 +22,11 @@ public class WorkThread extends Thread implements Executor { protected final ExecutorService workExecutor; - private final int index; // WorkThread下标,从0开始 + // WorkThread下标,从0开始 + private final int index; - private final int threads; // WorkThread个数 + // WorkThread个数 + private final int threads; public WorkThread( ThreadGroup g, String name, int index, int threads, ExecutorService workExecutor, Runnable target) { diff --git a/src/main/java/org/redkale/net/client/Client.java b/src/main/java/org/redkale/net/client/Client.java index d285749bd..d2765ba13 100644 --- a/src/main/java/org/redkale/net/client/Client.java +++ b/src/main/java/org/redkale/net/client/Client.java @@ -37,9 +37,11 @@ public abstract class Client, R extends ClientR protected final String name; - protected final AsyncGroup group; // 连接构造器 + // 连接构造器 + protected final AsyncGroup group; - protected final boolean tcp; // 是否TCP协议 + // 是否TCP协议 + protected final boolean tcp; protected final ScheduledThreadPoolExecutor timeoutScheduler; @@ -55,17 +57,19 @@ public abstract class Client, R extends ClientR private final AtomicBoolean closed = new AtomicBoolean(); // 不可protected、public - private final ClientAddress address; // 连接的地址 + // 连接的地址 + private final ClientAddress address; - // 连随机地址模式 - private final int connLimit; // 最大连接数 + // 连随机地址模式,最大连接数 + private final int connLimit; // 连指定地址模式 private final ConcurrentHashMap connAddrEntrys = new ConcurrentHashMap<>(); protected ScheduledFuture timeoutFuture; - protected int maxPipelines = DEFAULT_MAX_PIPELINES; // 单个连接最大并行处理数 + // 单个连接最大并行处理数 + protected int maxPipelines = DEFAULT_MAX_PIPELINES; protected int connectTimeoutSeconds; diff --git a/src/main/java/org/redkale/net/client/ClientConnection.java b/src/main/java/org/redkale/net/client/ClientConnection.java index 8f3e14ee1..171c49c73 100644 --- a/src/main/java/org/redkale/net/client/ClientConnection.java +++ b/src/main/java/org/redkale/net/client/ClientConnection.java @@ -83,9 +83,11 @@ public abstract class ClientConnection> currRespIterator; // 必须在调用decodeMessages之前重置为null + // 必须在调用decodeMessages之前重置为null + Iterator> currRespIterator; - private int maxPipelines; // 最大并行处理数 + // 最大并行处理数 + private int maxPipelines; private boolean authenticated; diff --git a/src/main/java/org/redkale/net/client/ClientResponse.java b/src/main/java/org/redkale/net/client/ClientResponse.java index b4e4559d7..fb5416e52 100644 --- a/src/main/java/org/redkale/net/client/ClientResponse.java +++ b/src/main/java/org/redkale/net/client/ClientResponse.java @@ -18,8 +18,9 @@ import org.redkale.annotation.Nullable; */ public class ClientResponse { + // 服务端返回一个不存在的requestid,可能为null @Nullable - protected R request; // 服务端返回一个不存在的requestid,可能为null + protected R request; protected P message; diff --git a/src/main/java/org/redkale/net/http/HttpResponse.java b/src/main/java/org/redkale/net/http/HttpResponse.java index acddea1d4..558fbade6 100644 --- a/src/main/java/org/redkale/net/http/HttpResponse.java +++ b/src/main/java/org/redkale/net/http/HttpResponse.java @@ -157,7 +157,8 @@ public class HttpResponse extends Response { private boolean respHeadContainsConnection; - private int headWritedSize = -1; // 0表示跳过header,正数表示header的字节长度。 + // 0表示跳过header,正数表示header的字节长度。 + private int headWritedSize = -1; private BiConsumer cacheHandler; diff --git a/src/main/java/org/redkale/net/http/WebSocketServlet.java b/src/main/java/org/redkale/net/http/WebSocketServlet.java index 9bd8bb9d0..89acbb150 100644 --- a/src/main/java/org/redkale/net/http/WebSocketServlet.java +++ b/src/main/java/org/redkale/net/http/WebSocketServlet.java @@ -5,8 +5,6 @@ */ package org.redkale.net.http; -import static org.redkale.boot.Application.RESNAME_SERVER_RESFACTORY; - import java.io.*; import java.lang.reflect.*; import java.net.InetSocketAddress; @@ -21,6 +19,7 @@ import java.util.zip.*; import org.redkale.annotation.*; import org.redkale.annotation.Comment; import org.redkale.boot.Application; +import static org.redkale.boot.Application.RESNAME_SERVER_RESFACTORY; import org.redkale.convert.Convert; import org.redkale.inject.Resourcable; import org.redkale.inject.ResourceFactory; diff --git a/src/main/java/org/redkale/util/ByteBufferPool.java b/src/main/java/org/redkale/util/ByteBufferPool.java index 0f286c267..e3a5d8625 100644 --- a/src/main/java/org/redkale/util/ByteBufferPool.java +++ b/src/main/java/org/redkale/util/ByteBufferPool.java @@ -36,7 +36,7 @@ public class ByteBufferPool extends ObjectPool { max, (Object... params) -> ByteBuffer.allocateDirect(bufferCapacity), null, - (e) -> { + e -> { if (e == null || e.isReadOnly() || e.capacity() != bufferCapacity) { return false; }