This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/master by this push:
     new 284ca72  Close requests to release resources (#5015)
284ca72 is described below

commit 284ca72ba52755f7d9206dbe2c3c12493a2a71fa
Author: perttuk <pert...@users.noreply.github.com>
AuthorDate: Thu Feb 4 07:11:13 2021 +0200

    Close requests to release resources (#5015)
---
 .../docker/producer/AsyncDockerProducer.java       |  96 +++++++++---------
 .../component/docker/producer/DockerProducer.java  | 112 +++++++++++++++------
 2 files changed, 134 insertions(+), 74 deletions(-)

diff --git 
a/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
 
b/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
index 16f0e29..5748c64 100644
--- 
a/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
+++ 
b/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
@@ -127,20 +127,21 @@ public class AsyncDockerProducer extends 
DefaultAsyncProducer {
     private void runAsyncImageBuild(Exchange exchange, Message message, 
DockerClient client)
             throws DockerException, InterruptedException {
         // result contain an image id value
-        BuildImageCmd cmd = executeBuildImageRequest(client, message);
+        try (BuildImageCmd cmd = executeBuildImageRequest(client, message)) {
 
-        BuildImageResultCallback item = cmd.exec(new 
BuildImageResultCallback() {
-            @Override
-            public void onNext(BuildResponseItem item) {
-                super.onNext(item);
+            BuildImageResultCallback item = cmd.exec(new 
BuildImageResultCallback() {
+                @Override
+                public void onNext(BuildResponseItem item) {
+                    super.onNext(item);
 
-                LOG.trace("build image callback {}", item);
+                    LOG.trace("build image callback {}", item);
 
-                exchange.getIn().setBody(item.getImageId());
-            }
-        });
+                    exchange.getIn().setBody(item.getImageId());
+                }
+            });
 
-        setResponse(exchange, item);
+            setResponse(exchange, item);
+        }
     }
 
     private void runAsyncWithFrameResponse(Exchange exchange, 
AsyncDockerCmd<?, Frame> cmd) throws InterruptedException {
@@ -157,24 +158,25 @@ public class AsyncDockerProducer extends 
DefaultAsyncProducer {
     }
 
     private void runAsyncExecStart(Exchange exchange, Message message, 
DockerClient client) throws InterruptedException {
-        ExecStartCmd cmd = executeExecStartRequest(client, message);
-
-        runAsyncWithFrameResponse(exchange, cmd);
+        try (ExecStartCmd cmd = executeExecStartRequest(client, message)) {
+            runAsyncWithFrameResponse(exchange, cmd);
+        }
     }
 
     private void runAsyncWaitContainer(Exchange exchange, Message message, 
DockerClient client) throws InterruptedException {
-        WaitContainerCmd cmd = executeWaitContainerRequest(client, message);
-        WaitContainerResultCallback item = cmd.exec(new 
WaitContainerResultCallback() {
-            @Override
-            public void onNext(WaitResponse item) {
-                super.onNext(item);
+        try (WaitContainerCmd cmd = executeWaitContainerRequest(client, 
message)) {
+            WaitContainerResultCallback item = cmd.exec(new 
WaitContainerResultCallback() {
+                @Override
+                public void onNext(WaitResponse item) {
+                    super.onNext(item);
 
-                LOG.trace("wait container callback {}", item);
-            }
+                    LOG.trace("wait container callback {}", item);
+                }
 
-        });
+            });
 
-        setResponse(exchange, item);
+            setResponse(exchange, item);
+        }
     }
 
     private void setResponse(Exchange exchange, ResultCallbackTemplate item) 
throws InterruptedException {
@@ -185,45 +187,47 @@ public class AsyncDockerProducer extends 
DefaultAsyncProducer {
     }
 
     private void runAsyncLogContainer(Exchange exchange, Message message, 
DockerClient client) throws InterruptedException {
-        LogContainerCmd cmd = executeLogContainerRequest(client, message);
-
-        runAsyncWithFrameResponse(exchange, cmd);
-
+        try (LogContainerCmd cmd = executeLogContainerRequest(client, 
message)) {
+            runAsyncWithFrameResponse(exchange, cmd);
+        }
     }
 
     private void runAsyncAttachContainer(Exchange exchange, Message message, 
DockerClient client) throws InterruptedException {
-        AttachContainerCmd cmd = executeAttachContainerRequest(client, 
message);
-        runAsyncWithFrameResponse(exchange, cmd);
+        try (AttachContainerCmd cmd = executeAttachContainerRequest(client, 
message)) {
+            runAsyncWithFrameResponse(exchange, cmd);
+        }
     }
 
     private void runAsyncPush(Exchange exchange, Message message, DockerClient 
client) throws InterruptedException {
-        PushImageCmd cmd = executePushImageRequest(client, message);
-        Adapter<PushResponseItem> item = cmd.exec(new 
Adapter<PushResponseItem>() {
-            @Override
-            public void onNext(PushResponseItem item) {
-                super.onNext(item);
+        try (PushImageCmd cmd = executePushImageRequest(client, message)) {
+            Adapter<PushResponseItem> item = cmd.exec(new 
Adapter<PushResponseItem>() {
+                @Override
+                public void onNext(PushResponseItem item) {
+                    super.onNext(item);
 
-                LOG.trace("push image callback {}", item);
-            }
-        });
+                    LOG.trace("push image callback {}", item);
+                }
+            });
 
-        setResponse(exchange, item);
+            setResponse(exchange, item);
+        }
     }
 
     private void runAsyncPull(Message message, DockerClient client, Exchange 
exchange) throws InterruptedException {
-        PullImageCmd cmd = executePullImageRequest(client, message);
+        try (PullImageCmd cmd = executePullImageRequest(client, message)) {
 
-        PullImageResultCallback item = cmd.exec(new PullImageResultCallback() {
-            @Override
-            public void onNext(PullResponseItem item) {
-                super.onNext(item);
+            PullImageResultCallback item = cmd.exec(new 
PullImageResultCallback() {
+                @Override
+                public void onNext(PullResponseItem item) {
+                    super.onNext(item);
 
-                LOG.trace("pull image callback {}", item);
+                    LOG.trace("pull image callback {}", item);
 
-            }
-        });
+                }
+            });
 
-        setResponse(exchange, item);
+            setResponse(exchange, item);
+        }
     }
 
     /**
diff --git 
a/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
 
b/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
index 69fd1a1..ff8bdac 100644
--- 
a/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
+++ 
b/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
@@ -100,88 +100,144 @@ public class DockerProducer extends DefaultProducer {
 
             /** General **/
             case AUTH:
-                result = executeAuthRequest(client, message).exec();
+                try (AuthCmd cmd = executeAuthRequest(client, message)) {
+                    result = cmd.exec();
+                }
                 break;
             case INFO:
-                result = executeInfoRequest(client, message).exec();
+                try (InfoCmd cmd = executeInfoRequest(client, message)) {
+                    result = cmd.exec();
+                }
                 break;
             case PING:
-                result = executePingRequest(client, message).exec();
+                try (PingCmd cmd = executePingRequest(client, message)) {
+                    result = cmd.exec();
+                }
                 break;
             case VERSION:
-                result = executeVersionRequest(client, message).exec();
+                try (VersionCmd cmd = executeVersionRequest(client, message)) {
+                    result = cmd.exec();
+                }
                 break;
             case CREATE_IMAGE:
-                result = executeCreateImageRequest(client, message).exec();
+                try (CreateImageCmd cmd = executeCreateImageRequest(client, 
message)) {
+                    result = cmd.exec();
+                }
                 break;
             case INSPECT_IMAGE:
-                result = executeInspectImageRequest(client, message).exec();
+                try (InspectImageCmd cmd = executeInspectImageRequest(client, 
message)) {
+                    result = cmd.exec();
+                }
                 break;
             case LIST_IMAGES:
-                result = executeListImagesRequest(client, message).exec();
+                try (ListImagesCmd cmd = executeListImagesRequest(client, 
message)) {
+                    result = cmd.exec();
+                }
                 break;
             case REMOVE_IMAGE:
-                result = executeRemoveImageRequest(client, message).exec();
+                try (RemoveImageCmd cmd = executeRemoveImageRequest(client, 
message)) {
+                    result = cmd.exec();
+                }
                 break;
             case SEARCH_IMAGES:
-                result = executeSearchImageRequest(client, message).exec();
+                try (SearchImagesCmd cmd = executeSearchImageRequest(client, 
message)) {
+                    result = cmd.exec();
+                }
                 break;
             case TAG_IMAGE:
-                result = executeTagImageRequest(client, message).exec();
+                try (TagImageCmd cmd = executeTagImageRequest(client, 
message)) {
+                    result = cmd.exec();
+                }
                 break;
             case COMMIT_CONTAINER:
-                result = executeCommitContainerRequest(client, message).exec();
+                try (CommitCmd cmd = executeCommitContainerRequest(client, 
message)) {
+                    result = cmd.exec();
+                }
                 break;
             case COPY_FILE_CONTAINER:
-                result = executeCopyFileContainerRequest(client, 
message).exec();
+                try (CopyArchiveFromContainerCmd cmd = 
executeCopyFileContainerRequest(client, message)) {
+                    result = cmd.exec();
+                }
                 break;
             case CREATE_CONTAINER:
-                result = executeCreateContainerRequest(client, message).exec();
+                try (CreateContainerCmd cmd = 
executeCreateContainerRequest(client, message)) {
+                    result = cmd.exec();
+                }
                 break;
             case DIFF_CONTAINER:
-                result = executeDiffContainerRequest(client, message).exec();
+                try (ContainerDiffCmd cmd = 
executeDiffContainerRequest(client, message)) {
+                    result = cmd.exec();
+                }
                 break;
             case INSPECT_CONTAINER:
-                result = executeInspectContainerRequest(client, 
message).exec();
+                try (InspectContainerCmd cmd = 
executeInspectContainerRequest(client, message)) {
+                    result = cmd.exec();
+                }
                 break;
             case LIST_CONTAINERS:
-                result = executeListContainersRequest(client, message).exec();
+                try (ListContainersCmd cmd = 
executeListContainersRequest(client, message)) {
+                    result = cmd.exec();
+                }
                 break;
             case KILL_CONTAINER:
-                result = executeKillContainerRequest(client, message).exec();
+                try (KillContainerCmd cmd = 
executeKillContainerRequest(client, message)) {
+                    result = cmd.exec();
+                }
                 break;
             case PAUSE_CONTAINER:
-                result = executePauseContainerRequest(client, message).exec();
+                try (PauseContainerCmd cmd = 
executePauseContainerRequest(client, message)) {
+                    result = cmd.exec();
+                }
                 break;
             case REMOVE_CONTAINER:
-                result = executeRemoveContainerRequest(client, message).exec();
+                try (RemoveContainerCmd cmd = 
executeRemoveContainerRequest(client, message)) {
+                    result = cmd.exec();
+                }
                 break;
             case RESTART_CONTAINER:
-                result = executeRestartContainerRequest(client, 
message).exec();
+                try (RestartContainerCmd cmd = 
executeRestartContainerRequest(client, message)) {
+                    result = cmd.exec();
+                }
                 break;
             case START_CONTAINER:
-                result = executeStartContainerRequest(client, message).exec();
+                try (StartContainerCmd cmd = 
executeStartContainerRequest(client, message)) {
+                    result = cmd.exec();
+                }
                 break;
             case STOP_CONTAINER:
-                result = executeStopContainerRequest(client, message).exec();
+                try (StopContainerCmd cmd = 
executeStopContainerRequest(client, message)) {
+                    result = cmd.exec();
+                }
                 break;
             case TOP_CONTAINER:
-                result = executeTopContainerRequest(client, message).exec();
+                try (TopContainerCmd cmd = executeTopContainerRequest(client, 
message)) {
+                    result = cmd.exec();
+                }
                 break;
             case UNPAUSE_CONTAINER:
-                result = executeUnpauseContainerRequest(client, 
message).exec();
+                try (UnpauseContainerCmd cmd = 
executeUnpauseContainerRequest(client, message)) {
+                    result = cmd.exec();
+                }
                 break;
             case CREATE_NETWORK:
-                result = executeCreateNetworkRequest(client, message).exec();
+                try (CreateNetworkCmd cmd = 
executeCreateNetworkRequest(client, message)) {
+                    result = cmd.exec();
+                }
                 break;
             case REMOVE_NETWORK:
-                result = executeRemoveNetworkRequest(client, message).exec();
+                try (RemoveNetworkCmd cmd = 
executeRemoveNetworkRequest(client, message)) {
+                    result = cmd.exec();
+                }
                 break;
             case CONNECT_NETWORK:
-                result = executeConnectToNetworkRequest(client, 
message).exec();
+                try (ConnectToNetworkCmd cmd = 
executeConnectToNetworkRequest(client, message)) {
+                    result = cmd.exec();
+                }
                 break;
             case EXEC_CREATE:
-                result = executeExecCreateRequest(client, message).exec();
+                try (ExecCreateCmd cmd = executeExecCreateRequest(client, 
message)) {
+                    result = cmd.exec();
+                }
                 break;
             default:
                 throw new DockerException("Invalid operation: " + operation);

Reply via email to