Merge pull request #8142 from smatvienko-tb/fix/InvokeService_callback_executor

[3.5] ScriptInvokeService - shutdown executors on application exit
This commit is contained in:
Andrew Shvayka 2023-02-28 11:51:43 +02:00 committed by GitHub
commit fadaeb3f66
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 2 deletions

View File

@ -109,17 +109,20 @@ public class RemoteJsInvokeService extends AbstractJsInvokeService {
private final Lock scriptsLock = new ReentrantLock(); private final Lock scriptsLock = new ReentrantLock();
@PostConstruct @PostConstruct
@Override
public void init() { public void init() {
super.init(); super.init();
requestTemplate.init(); requestTemplate.init();
} }
@PreDestroy @PreDestroy
public void destroy() { @Override
public void stop() {
super.stop(); super.stop();
if (requestTemplate != null) { if (requestTemplate != null) {
requestTemplate.stop(); requestTemplate.stop();
} }
callbackExecutor.shutdownNow();
} }
@Override @Override

View File

@ -104,6 +104,7 @@ public class NashornJsInvokeService extends AbstractJsInvokeService {
} }
@PostConstruct @PostConstruct
@Override
public void init() { public void init() {
super.init(); super.init();
jsExecutor = MoreExecutors.listeningDecorator(Executors.newWorkStealingPool(jsExecutorThreadPoolSize)); jsExecutor = MoreExecutors.listeningDecorator(Executors.newWorkStealingPool(jsExecutorThreadPoolSize));
@ -122,6 +123,7 @@ public class NashornJsInvokeService extends AbstractJsInvokeService {
} }
@PreDestroy @PreDestroy
@Override
public void stop() { public void stop() {
super.stop(); super.stop();
if (monitorExecutorService != null) { if (monitorExecutorService != null) {

View File

@ -119,6 +119,7 @@ public class DefaultTbelInvokeService extends AbstractScriptInvokeService implem
@SneakyThrows @SneakyThrows
@PostConstruct @PostConstruct
@Override
public void init() { public void init() {
super.init(); super.init();
OptimizerFactory.setDefaultOptimizer(OptimizerFactory.SAFE_REFLECTIVE); OptimizerFactory.setDefaultOptimizer(OptimizerFactory.SAFE_REFLECTIVE);
@ -142,7 +143,9 @@ public class DefaultTbelInvokeService extends AbstractScriptInvokeService implem
} }
@PreDestroy @PreDestroy
public void destroy() { @Override
public void stop() {
super.stop();
if (executor != null) { if (executor != null) {
executor.shutdownNow(); executor.shutdownNow();
} }