mqtt transport refactored msqProcessorExecutor lifecycle

This commit is contained in:
Sergey Matvienko 2021-07-30 15:44:30 +03:00 committed by Andrew Shvayka
parent 712ccd4c26
commit 40bcd2fa8a

View File

@ -29,6 +29,7 @@ import org.thingsboard.server.transport.mqtt.adaptors.JsonMqttAdaptor;
import org.thingsboard.server.transport.mqtt.adaptors.ProtoMqttAdaptor;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import java.util.concurrent.ExecutorService;
/**
@ -68,6 +69,22 @@ public class MqttTransportContext extends TransportContext {
private int messageQueueSizePerDeviceLimit;
@Getter
private final ExecutorService msqProcessorExecutor = ThingsBoardExecutors.newWorkStealingPool(Runtime.getRuntime().availableProcessors() + 1, "msg-processor-on-device-connect");
private ExecutorService msqProcessorExecutor;
@Override
@PostConstruct
public void init() {
super.init();
msqProcessorExecutor = ThingsBoardExecutors.newWorkStealingPool(Runtime.getRuntime().availableProcessors() + 1, "msg-processor-on-device-connect");
}
@Override
@PreDestroy
public void stop() {
super.stop();
if (msqProcessorExecutor != null) {
msqProcessorExecutor.shutdownNow();
}
}
}