Commit 9156ccfb68fe1b1036296adcce2cbefbe45a68d8

Authored by Andrew Shvayka
Committed by GitHub
2 parents 12280f81 2731ff69

Merge pull request #1662 from yefimov-andrey/mqtt-keep-alive-fix

Added MQTT keep alive parameter
... ... @@ -469,6 +469,7 @@ transport:
469 469 boss_group_thread_count: "${NETTY_BOSS_GROUP_THREADS:1}"
470 470 worker_group_thread_count: "${NETTY_WORKER_GROUP_THREADS:12}"
471 471 max_payload_size: "${NETTY_MAX_PAYLOAD_SIZE:65536}"
  472 + so_keep_alive: "${NETTY_SO_KEEPALIVE:true}"
472 473 # MQTT SSL configuration
473 474 ssl:
474 475 # Enable/disable SSL support
... ...
... ... @@ -17,6 +17,7 @@ package org.thingsboard.server.transport.mqtt;
17 17
18 18 import io.netty.bootstrap.ServerBootstrap;
19 19 import io.netty.channel.Channel;
  20 +import io.netty.channel.ChannelOption;
20 21 import io.netty.channel.EventLoopGroup;
21 22 import io.netty.channel.nio.NioEventLoopGroup;
22 23 import io.netty.channel.socket.nio.NioServerSocketChannel;
... ... @@ -50,6 +51,8 @@ public class MqttTransportService {
50 51 private Integer bossGroupThreadCount;
51 52 @Value("${transport.mqtt.netty.worker_group_thread_count}")
52 53 private Integer workerGroupThreadCount;
  54 + @Value("${transport.mqtt.netty.so_keep_alive}")
  55 + private boolean keepAlive;
53 56
54 57 @Autowired
55 58 private MqttTransportContext context;
... ... @@ -69,7 +72,8 @@ public class MqttTransportService {
69 72 ServerBootstrap b = new ServerBootstrap();
70 73 b.group(bossGroup, workerGroup)
71 74 .channel(NioServerSocketChannel.class)
72   - .childHandler(new MqttTransportServerInitializer(context));
  75 + .childHandler(new MqttTransportServerInitializer(context))
  76 + .childOption(ChannelOption.SO_KEEPALIVE, keepAlive);
73 77
74 78 serverChannel = b.bind(host, port).sync().channel();
75 79 log.info("Mqtt transport started!");
... ...