You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2021/02/04 05:11:41 UTC
[camel] branch master updated: Close requests to release resources
(#5015)
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 <pe...@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);