Merge branch 'develop/2.2' of github.com:thingsboard/thingsboard into develop/2.2

This commit is contained in:
Igor Kulikov 2018-09-27 16:18:02 +03:00
commit 05e2981b36
2 changed files with 7 additions and 0 deletions

View File

@ -96,6 +96,7 @@ public class RemoteJsInvokeService extends AbstractJsInvokeService {
builder.maxRequestTimeout(maxRequestsTimeout); builder.maxRequestTimeout(maxRequestsTimeout);
builder.pollInterval(responsePollDuration); builder.pollInterval(responsePollDuration);
kafkaTemplate = builder.build(); kafkaTemplate = builder.build();
kafkaTemplate.init();
} }
@PreDestroy @PreDestroy

View File

@ -48,6 +48,7 @@ public class TbKafkaRequestTemplate<Request, Response> {
private final TBKafkaProducerTemplate<Request> requestTemplate; private final TBKafkaProducerTemplate<Request> requestTemplate;
private final TBKafkaConsumerTemplate<Response> responseTemplate; private final TBKafkaConsumerTemplate<Response> responseTemplate;
private final ConcurrentMap<UUID, ResponseMetaData<Response>> pendingRequests; private final ConcurrentMap<UUID, ResponseMetaData<Response>> pendingRequests;
private final boolean internalExecutor;
private final ExecutorService executor; private final ExecutorService executor;
private final long maxRequestTimeout; private final long maxRequestTimeout;
private final long maxPendingRequests; private final long maxPendingRequests;
@ -69,8 +70,10 @@ public class TbKafkaRequestTemplate<Request, Response> {
this.maxPendingRequests = maxPendingRequests; this.maxPendingRequests = maxPendingRequests;
this.pollInterval = pollInterval; this.pollInterval = pollInterval;
if (executor != null) { if (executor != null) {
internalExecutor = false;
this.executor = executor; this.executor = executor;
} else { } else {
internalExecutor = true;
this.executor = Executors.newSingleThreadExecutor(); this.executor = Executors.newSingleThreadExecutor();
} }
} }
@ -126,6 +129,9 @@ public class TbKafkaRequestTemplate<Request, Response> {
public void stop() { public void stop() {
stopped = true; stopped = true;
if (internalExecutor) {
executor.shutdownNow();
}
} }
public ListenableFuture<Response> post(String key, Request request) { public ListenableFuture<Response> post(String key, Request request) {