diff --git a/CHANGELOG.md b/CHANGELOG.md index 63a66d7d4..24fb2fbdc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ ------------------------------------------------------------------------------------------------------------- -## 5.3.9 (2020-06-23) +## 5.3.9 (2020-06-28) ### 新特性 * 【core 】 DateUtil增加formatChineseDate(pr#932@Github) @@ -12,6 +12,7 @@ * 【core 】 修复NumberUtil.partValue有余数问题(issue#I1KX66@Gitee) * 【core 】 修复BeanUtil.isEmpty不能忽略static字段问题(issue#I1KZI6@Gitee) * 【core 】 修复StrUtil.brief长度问题(pr#930@Github) +* 【socket 】 修复AioSession构造超时无效问题(pr#941@Github) ------------------------------------------------------------------------------------------------------------- ## 5.3.8 (2020-06-16) diff --git a/hutool-socket/src/main/java/cn/hutool/socket/aio/AioSession.java b/hutool-socket/src/main/java/cn/hutool/socket/aio/AioSession.java index 7dc58b641..6c30c1139 100644 --- a/hutool-socket/src/main/java/cn/hutool/socket/aio/AioSession.java +++ b/hutool-socket/src/main/java/cn/hutool/socket/aio/AioSession.java @@ -1,5 +1,10 @@ package cn.hutool.socket.aio; +import cn.hutool.core.io.IORuntimeException; +import cn.hutool.core.io.IoUtil; +import cn.hutool.socket.SocketConfig; +import cn.hutool.socket.SocketUtil; + import java.io.Closeable; import java.io.IOException; import java.net.SocketAddress; @@ -9,11 +14,6 @@ import java.nio.channels.CompletionHandler; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; -import cn.hutool.core.io.IORuntimeException; -import cn.hutool.core.io.IoUtil; -import cn.hutool.socket.SocketConfig; -import cn.hutool.socket.SocketUtil; - /** * AIO会话
* 每个客户端对应一个会话对象 @@ -30,9 +30,9 @@ public class AioSession implements Closeable{ private ByteBuffer readBuffer; private ByteBuffer writeBuffer; /** 读取超时时长,小于等于0表示默认 */ - private long readTimeout; + private final long readTimeout; /** 写出超时时长,小于等于0表示默认 */ - private long writeTimeout; + private final long writeTimeout; /** * 构造 @@ -43,11 +43,12 @@ public class AioSession implements Closeable{ */ public AioSession(AsynchronousSocketChannel channel, IoAction ioAction, SocketConfig config) { this.channel = channel; + this.ioAction = ioAction; + this.readBuffer = ByteBuffer.allocate(config.getReadBufferSize()); this.writeBuffer = ByteBuffer.allocate(config.getWriteBufferSize()); this.readTimeout = config.getReadTimeout(); this.writeTimeout = config.getWriteTimeout(); - this.ioAction = ioAction; } /**