diff --git a/ebike-gateway/src/main/resources/application-dev.yml b/ebike-gateway/src/main/resources/application-dev.yml index 8c18790..1f4608a 100644 --- a/ebike-gateway/src/main/resources/application-dev.yml +++ b/ebike-gateway/src/main/resources/application-dev.yml @@ -110,4 +110,8 @@ management: include: health,info endpoint: health: - show-details: always \ No newline at end of file + show-details: always + +logging: + pattern: + dateformat: yyyy-MM-dd HH:mm:ss \ No newline at end of file diff --git a/ebike-gather/src/main/java/org/cdzy/gather/mqtt/MqttConnectionFactory.java b/ebike-gather/src/main/java/org/cdzy/gather/mqtt/MqttConnectionFactory.java index 2ae75af..09a348f 100644 --- a/ebike-gather/src/main/java/org/cdzy/gather/mqtt/MqttConnectionFactory.java +++ b/ebike-gather/src/main/java/org/cdzy/gather/mqtt/MqttConnectionFactory.java @@ -44,9 +44,8 @@ public class MqttConnectionFactory extends BasePooledObjectFactory { public boolean validateObject(PooledObject p) { Channel channel = p.getObject(); boolean isValid = channel != null && - channel.isActive() && - channel.isOpen() && - channel.isWritable(); + channel.isActive()&& + channel.isOpen(); if (!isValid && log.isDebugEnabled()) { log.debug("MQTT连接验证失败"); diff --git a/ebike-gather/src/main/java/org/cdzy/gather/mqtt/MqttHandler.java b/ebike-gather/src/main/java/org/cdzy/gather/mqtt/MqttHandler.java index 3609f6a..4d8920a 100644 --- a/ebike-gather/src/main/java/org/cdzy/gather/mqtt/MqttHandler.java +++ b/ebike-gather/src/main/java/org/cdzy/gather/mqtt/MqttHandler.java @@ -4,6 +4,7 @@ import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelInboundHandlerAdapter; import io.netty.handler.codec.mqtt.*; +import io.netty.handler.timeout.IdleStateEvent; import lombok.extern.slf4j.Slf4j; import java.nio.charset.StandardCharsets; @@ -14,7 +15,6 @@ import java.nio.charset.StandardCharsets; @Slf4j public class MqttHandler extends ChannelInboundHandlerAdapter { - private volatile boolean connected = false; @Override public void channelRead(ChannelHandlerContext ctx, Object msg){ if (msg instanceof MqttMessage mqttMessage) { @@ -130,13 +130,21 @@ public class MqttHandler extends ChannelInboundHandlerAdapter { } @Override - public void channelInactive(ChannelHandlerContext ctx) throws Exception { - if (connected) { - log.warn("MQTT连接断开"); - } else { - log.debug("MQTT连接未完成握手即断开"); + public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception { + if (evt instanceof IdleStateEvent idleStateEvent) { + switch (idleStateEvent.state()) { + case WRITER_IDLE: + // 发送PINGREQ心跳 + MqttMessage pingReq = new MqttMessage(new MqttFixedHeader( + MqttMessageType.PINGREQ, false, MqttQoS.AT_MOST_ONCE, false, 0)); + ctx.writeAndFlush(pingReq); +// log.debug("发送PINGREQ心跳"); + break; + case READER_IDLE: +// log.warn("读空闲超时,可能连接已断开"); + break; + } } - connected = false; - super.channelInactive(ctx); + super.userEventTriggered(ctx, evt); } } \ No newline at end of file diff --git a/ebike-gather/src/main/resources/application-dev.yml b/ebike-gather/src/main/resources/application-dev.yml index d8e6924..452da53 100644 --- a/ebike-gather/src/main/resources/application-dev.yml +++ b/ebike-gather/src/main/resources/application-dev.yml @@ -44,4 +44,8 @@ management: include: health,info endpoint: health: - show-details: always \ No newline at end of file + show-details: always + +logging: + pattern: + dateformat: yyyy-MM-dd HH:mm:ss \ No newline at end of file diff --git a/ebike-operations/src/main/resources/application-dev.yml b/ebike-operations/src/main/resources/application-dev.yml index b00ffdd..e34ea9a 100644 --- a/ebike-operations/src/main/resources/application-dev.yml +++ b/ebike-operations/src/main/resources/application-dev.yml @@ -110,3 +110,7 @@ minio: secret-key: YuFoH+VJVzQbNLRqVMo39dM5pWXCEcMvrCrtgwB0 # 私有密钥 bucket-name: operations-objects show-url: http://47.109.141.125:9000 + +logging: + pattern: + dateformat: yyyy-MM-dd HH:mm:ss diff --git a/ebike-payment/src/main/resources/application-dev.yml b/ebike-payment/src/main/resources/application-dev.yml index 2bc3a71..fdf457b 100644 --- a/ebike-payment/src/main/resources/application-dev.yml +++ b/ebike-payment/src/main/resources/application-dev.yml @@ -104,4 +104,8 @@ management: include: health,info endpoint: health: - show-details: always \ No newline at end of file + show-details: always + +logging: + pattern: + dateformat: yyyy-MM-dd HH:mm:ss \ No newline at end of file diff --git a/ebike-report/src/main/resources/application-dev.yml b/ebike-report/src/main/resources/application-dev.yml index 1313dd5..9402a94 100644 --- a/ebike-report/src/main/resources/application-dev.yml +++ b/ebike-report/src/main/resources/application-dev.yml @@ -55,4 +55,8 @@ management: include: health,info endpoint: health: - show-details: always \ No newline at end of file + show-details: always + +logging: + pattern: + dateformat: yyyy-MM-dd HH:mm:ss \ No newline at end of file diff --git a/ebike-staff/src/main/resources/application-dev.yml b/ebike-staff/src/main/resources/application-dev.yml index 182dec0..76d583a 100644 --- a/ebike-staff/src/main/resources/application-dev.yml +++ b/ebike-staff/src/main/resources/application-dev.yml @@ -87,4 +87,8 @@ management: health: show-details: always +logging: + pattern: + dateformat: yyyy-MM-dd HH:mm:ss + diff --git a/ebike-user/src/main/resources/application-dev.yml b/ebike-user/src/main/resources/application-dev.yml index 031404b..c40e151 100644 --- a/ebike-user/src/main/resources/application-dev.yml +++ b/ebike-user/src/main/resources/application-dev.yml @@ -105,3 +105,7 @@ minio: bucket-name: user-objects show-url: http://47.109.141.125:9000 +logging: + pattern: + dateformat: yyyy-MM-dd HH:mm:ss +