]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/jsonrpc/JsonRpcReader.java
Use new threads API
[signal-cli] / src / main / java / org / asamk / signal / jsonrpc / JsonRpcReader.java
index f9ef71a1f05cbc8ca72cba4ee90ab88786d5eeba..d1503d0165287f6cf0795d6941ef0af9a6193351 100644 (file)
@@ -55,8 +55,7 @@ public class JsonRpcReader {
             return;
         }
 
-        final var executor = Executors.newFixedThreadPool(10);
-        try {
+        try (final var executor = Executors.newCachedThreadPool()) {
             while (!Thread.interrupted()) {
                 final var input = lineSupplier.get();
                 if (input == null) {
@@ -72,8 +71,6 @@ public class JsonRpcReader {
 
                 executor.submit(() -> handleMessage(message, requestHandler, responseHandler));
             }
-        } finally {
-            Util.closeExecutorService(executor);
         }
     }
 
@@ -94,8 +91,7 @@ public class JsonRpcReader {
             case JsonRpcBatchMessage jsonRpcBatchMessage -> {
                 final var messages = jsonRpcBatchMessage.getMessages();
                 final var responseList = new ArrayList<JsonRpcResponse>(messages.size());
-                final var executor = Executors.newFixedThreadPool(10);
-                try {
+                try (final var executor = Executors.newCachedThreadPool()) {
                     final var lock = new ReentrantLock();
                     messages.forEach(jsonNode -> {
                         final JsonRpcRequest request;
@@ -124,8 +120,6 @@ public class JsonRpcReader {
                             }
                         });
                     });
-                } finally {
-                    Util.closeExecutorService(executor);
                 }
 
                 if (!responseList.isEmpty()) {