Browse Source

mqtt transport refactored msqProcessorExecutor lifecycle

pull/5039/head
Sergey Matvienko 5 years ago
committed by Andrew Shvayka
parent
commit
40bcd2fa8a
  1. 19
      common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/MqttTransportContext.java

19
common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/MqttTransportContext.java

@ -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();
}
}
}

Loading…
Cancel
Save