Commit 9156ccfb68fe1b1036296adcce2cbefbe45a68d8
Committed by
GitHub
Merge pull request #1662 from yefimov-andrey/mqtt-keep-alive-fix
Added MQTT keep alive parameter
Showing
2 changed files
with
6 additions
and
1 deletions
... | ... | @@ -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!"); | ... | ... |