...
|
...
|
@@ -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!");
|
...
|
...
|
|