Skip to content

Commit d53eef0

Browse files
authored
Merge pull request docker-java#631 from KostyaSha/fixIT-rebase
Fix it rebase
2 parents 19d5f84 + 24d3a15 commit d53eef0

File tree

14 files changed

+95
-908
lines changed

14 files changed

+95
-908
lines changed

.travis.yml

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,19 +21,18 @@ env:
2121
- COVERITY_SCAN_NOTIFICATION_EMAIL="kanstantsin.sha@gmail.com"
2222

2323
matrix:
24-
- repo="main" DOCKER_HOST="tcp://127.0.0.1:2375" DOCKER_VERSION="1.11.2-0~trusty" DEPLOY=true FAST_BUILD=true COVERITY=true
25-
- repo="main" DOCKER_HOST="tcp://127.0.0.1:2375" DOCKER_VERSION="1.11.2-0~trusty"
24+
- repo="main" DOCKER_HOST="tcp://127.0.0.1:2375" DOCKER_VERSION="1.11.2-0~trusty" DEPLOY=true COVERITY=true CODECOV=true
2625
- repo="main" DOCKER_HOST="unix:///var/run/docker.sock" DOCKER_VERSION="1.11.2-0~trusty"
2726
- repo="main" DOCKER_HOST="unix:///var/run/docker.sock" DOCKER_VERSION="1.10.3-0~trusty"
28-
- repo="testing" DOCKER_HOST="tcp://127.0.0.1:2375"
29-
- repo="testing" DOCKER_HOST="unix:///var/run/docker.sock"
30-
- repo="experimental" DOCKER_HOST="tcp://127.0.0.1:2375"
31-
- repo="experimental" DOCKER_HOST="unix:///var/run/docker.sock"
27+
# - repo="testing" DOCKER_HOST="tcp://127.0.0.1:2375"
28+
# - repo="testing" DOCKER_HOST="unix:///var/run/docker.sock"
29+
# - repo="experimental" DOCKER_HOST="tcp://127.0.0.1:2375"
30+
# - repo="experimental" DOCKER_HOST="unix:///var/run/docker.sock"
3231

3332
cache:
3433
directories:
3534
- $HOME/.travis_cache
36-
# - $HOME/.m2 install would pollute it
35+
- $HOME/.m2 # install will pollute it
3736

3837
before_install:
3938
- pip install --user codecov

.travis/travis-after-success.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
#!/usr/bin/env bash
22

3+
if [[ $CODECOV == "true" ]]; then
4+
codecov
5+
fi
36

4-
codecov
57
if [[ $TRAVIS_BRANCH == "master" ]] && [[ $TRAVIS_PULL_REQUEST == "false" ]] && [[ $DEPLOY == "true" ]];
68
then
79
cat <<EOF >> ~/settings.xml

pom.xml

Lines changed: 37 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -47,35 +47,35 @@
4747
<jdk.source>1.7</jdk.source>
4848
<jdk.target>1.7</jdk.target>
4949

50-
<jersey.version>2.11</jersey.version>
50+
<jersey.version>2.23.1</jersey.version>
5151
<jackson-jaxrs.version>2.6.4</jackson-jaxrs.version>
52-
<httpclient.version>4.3.1</httpclient.version>
53-
<commons-compress.version>1.5</commons-compress.version>
54-
<commons-codec.version>1.8</commons-codec.version>
55-
<commons-io.version>2.3</commons-io.version>
52+
<httpclient.version>4.5</httpclient.version><!-- 4.5.1-4.5.2 broken -->
53+
<commons-compress.version>1.12</commons-compress.version>
54+
<commons-codec.version>1.10</commons-codec.version>
55+
<commons-io.version>2.5</commons-io.version>
5656
<commons-lang.version>2.6</commons-lang.version>
57-
<slf4j-api.version>1.7.5</slf4j-api.version>
57+
<slf4j-api.version>1.7.21</slf4j-api.version>
5858

59-
<bouncycastle.version>1.51</bouncycastle.version>
59+
<bouncycastle.version>1.54</bouncycastle.version>
6060
<unix-socket-factory.version>2015-01-27T15-02-14</unix-socket-factory.version>
61-
<guava.version>18.0</guava.version>
61+
<guava.version>19.0</guava.version>
6262

6363
<!-- test dependencies -->
64-
<logback.version>1.1.0</logback.version>
65-
<testng.version>6.1.1</testng.version>
66-
<netty.version>4.1.0.CR3</netty.version>
64+
<logback.version>1.1.7</logback.version>
65+
<testng.version>6.9.10</testng.version>
66+
<netty.version>4.1.1.Final</netty.version>
6767
<hamcrest.library.version>1.3</hamcrest.library.version>
68-
<hamcrest.jpa-matchers>1.6</hamcrest.jpa-matchers>
68+
<hamcrest.jpa-matchers>1.8</hamcrest.jpa-matchers>
6969
<lambdaj.version>2.3.3</lambdaj.version>
7070
<mockito.version>1.10.19</mockito.version>
7171

7272

73-
<maven-jar-plugin.version>2.2</maven-jar-plugin.version>
74-
<maven-compiler-plugin.version>2.3.1</maven-compiler-plugin.version>
75-
<maven-release-plugin.version>2.3.1</maven-release-plugin.version>
73+
<maven-jar-plugin.version>3.0.2</maven-jar-plugin.version>
74+
<maven-compiler-plugin.version>3.5.1</maven-compiler-plugin.version>
75+
<maven-release-plugin.version>2.5.3</maven-release-plugin.version>
7676
<maven-surefire-plugin.version>2.19.1</maven-surefire-plugin.version>
7777
<maven-failsafe-plugin.version>2.19.1</maven-failsafe-plugin.version>
78-
<maven-antrun-plugin.version>1.7</maven-antrun-plugin.version>
78+
<maven-antrun-plugin.version>1.8</maven-antrun-plugin.version>
7979
</properties>
8080

8181
<dependencies>
@@ -89,6 +89,11 @@
8989
<artifactId>jersey-apache-connector</artifactId>
9090
<version>${jersey.version}</version>
9191
</dependency>
92+
<dependency>
93+
<groupId>org.apache.httpcomponents</groupId>
94+
<artifactId>httpcore</artifactId>
95+
<version>4.4.5</version>
96+
</dependency>
9297
<dependency>
9398
<groupId>org.apache.httpcomponents</groupId>
9499
<artifactId>httpclient</artifactId>
@@ -133,7 +138,7 @@
133138
<dependency>
134139
<groupId>org.slf4j</groupId>
135140
<artifactId>jcl-over-slf4j</artifactId>
136-
<version>1.7.12</version>
141+
<version>1.7.21</version>
137142
</dependency>
138143

139144
<dependency>
@@ -206,7 +211,7 @@
206211
<dependency>
207212
<groupId>com.google.code.findbugs</groupId>
208213
<artifactId>annotations</artifactId>
209-
<version>3.0.0</version>
214+
<version>3.0.1</version>
210215
<scope>provided</scope>
211216
</dependency>
212217

@@ -231,6 +236,12 @@
231236
<version>${netty.version}</version>
232237
<classifier>linux-x86_64</classifier>
233238
</dependency>
239+
<dependency>
240+
<groupId>junit</groupId>
241+
<artifactId>junit</artifactId>
242+
<version>4.12</version>
243+
<scope>test</scope>
244+
</dependency>
234245
</dependencies>
235246

236247
<distributionManagement>
@@ -321,7 +332,7 @@
321332
<plugin>
322333
<groupId>org.apache.maven.plugins</groupId>
323334
<artifactId>maven-source-plugin</artifactId>
324-
<version>2.2.1</version>
335+
<version>3.0.1</version>
325336
<executions>
326337
<execution>
327338
<id>attach-sources</id>
@@ -334,7 +345,7 @@
334345
<plugin>
335346
<groupId>org.apache.maven.plugins</groupId>
336347
<artifactId>maven-javadoc-plugin</artifactId>
337-
<version>2.9.1</version>
348+
<version>2.10.4</version>
338349
<executions>
339350
<execution>
340351
<id>attach-javadocs</id>
@@ -350,7 +361,7 @@
350361
<plugin>
351362
<groupId>org.sonatype.plugins</groupId>
352363
<artifactId>nexus-staging-maven-plugin</artifactId>
353-
<version>1.6.2</version>
364+
<version>1.6.7</version>
354365
<extensions>true</extensions>
355366
<configuration>
356367
<serverId>ossrh</serverId>
@@ -362,7 +373,7 @@
362373
<plugin>
363374
<groupId>org.apache.maven.plugins</groupId>
364375
<artifactId>maven-release-plugin</artifactId>
365-
<version>2.5</version>
376+
<version>${maven-release-plugin.version}</version>
366377
<configuration>
367378
<autoVersionSubmodules>true</autoVersionSubmodules>
368379
<useReleaseProfile>false</useReleaseProfile>
@@ -377,6 +388,7 @@
377388
<version>${maven-surefire-plugin.version}</version>
378389
<configuration>
379390
<excludedGroups>integration</excludedGroups>
391+
<excludedGroups>integration-auth</excludedGroups>
380392
</configuration>
381393
</plugin>
382394

@@ -392,7 +404,7 @@
392404
</goals>
393405
<configuration>
394406
<groups>integration</groups>
395-
<!-- <excludedGroups>ignoreInCircleCi</excludedGroups> -->
407+
<excludedGroups>integration-auth</excludedGroups>
396408
<includes>
397409
<include>**/*Test.java</include>
398410
</includes>
@@ -465,7 +477,7 @@
465477
<plugin>
466478
<groupId>org.codehaus.mojo</groupId>
467479
<artifactId>findbugs-maven-plugin</artifactId>
468-
<version>3.0.2</version>
480+
<version>3.0.3</version>
469481
<configuration>
470482
<effort>Max</effort>
471483
<threshold>Low</threshold>
@@ -484,7 +496,7 @@
484496
<plugin>
485497
<groupId>org.jacoco</groupId>
486498
<artifactId>jacoco-maven-plugin</artifactId>
487-
<version>0.7.6.201602180812</version>
499+
<version>0.7.7.201606060606</version>
488500
<executions>
489501
<execution>
490502
<goals>

src/main/java/com/github/dockerjava/jaxrs/DockerCmdExecFactoryImpl.java

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,16 @@
1818
import javax.ws.rs.client.WebTarget;
1919

2020
import com.github.dockerjava.api.command.UpdateContainerCmd;
21-
2221
import com.github.dockerjava.core.SSLConfig;
22+
2323
import org.apache.http.config.RegistryBuilder;
2424
import org.apache.http.conn.socket.ConnectionSocketFactory;
2525
import org.apache.http.conn.socket.PlainConnectionSocketFactory;
2626
import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
2727
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
2828
import org.glassfish.jersey.CommonProperties;
2929
import org.glassfish.jersey.apache.connector.ApacheClientProperties;
30+
import org.glassfish.jersey.apache.connector.ApacheConnectorProvider;
3031
import org.glassfish.jersey.client.ClientConfig;
3132
import org.glassfish.jersey.client.ClientProperties;
3233
import org.slf4j.Logger;
@@ -85,7 +86,6 @@
8586
import com.github.dockerjava.api.command.RenameContainerCmd;
8687
import com.github.dockerjava.api.exception.DockerClientException;
8788
import com.github.dockerjava.core.DockerClientConfig;
88-
import com.github.dockerjava.jaxrs.connector.ApacheConnectorProvider;
8989
import com.github.dockerjava.jaxrs.filter.JsonClientFilter;
9090
import com.github.dockerjava.jaxrs.filter.ResponseStatusExceptionFilter;
9191
import com.github.dockerjava.jaxrs.filter.SelectiveLoggingFilter;
@@ -115,6 +115,8 @@ public class DockerCmdExecFactoryImpl implements DockerCmdExecFactory {
115115

116116
private DockerClientConfig dockerClientConfig;
117117

118+
private PoolingHttpClientConnectionManager connManager = null;
119+
118120
@Override
119121
public void init(DockerClientConfig dockerClientConfig) {
120122
checkNotNull(dockerClientConfig, "config was not specified");
@@ -187,8 +189,21 @@ public void init(DockerClientConfig dockerClientConfig) {
187189
configureProxy(clientConfig, protocol);
188190
}
189191

190-
PoolingHttpClientConnectionManager connManager = new PoolingHttpClientConnectionManager(getSchemeRegistry(
191-
originalUri, sslContext));
192+
connManager = new PoolingHttpClientConnectionManager(getSchemeRegistry(
193+
originalUri, sslContext)) {
194+
195+
@Override
196+
public void close() {
197+
super.shutdown();
198+
}
199+
200+
@Override
201+
public void shutdown() {
202+
// Disable shutdown of the pool. This will be done later, when this factory is closed
203+
// This is a workaround for finalize method on jerseys ClientRuntime which
204+
// closes the client and shuts down the connection pool when it is garbage collected
205+
}
206+
};
192207

193208
if (maxTotalConnections != null) {
194209
connManager.setMaxTotal(maxTotalConnections);
@@ -412,7 +427,6 @@ public KillContainerCmd.Exec createKillContainerCmdExec() {
412427
return new KillContainerCmdExec(getBaseResource(), getDockerClientConfig());
413428
}
414429

415-
416430
@Override
417431
public UpdateContainerCmd.Exec createUpdateContainerCmdExec() {
418432
return new UpdateContainerCmdExec(getBaseResource(), getDockerClientConfig());
@@ -527,6 +541,7 @@ public DisconnectFromNetworkCmd.Exec createDisconnectFromNetworkCmdExec() {
527541
public void close() throws IOException {
528542
checkNotNull(client, "Factory not initialized. You probably forgot to call init()!");
529543
client.close();
544+
connManager.close();
530545
}
531546

532547
public DockerCmdExecFactoryImpl withReadTimeout(Integer readTimeout) {

src/main/java/com/github/dockerjava/jaxrs/UnixConnectionSocketFactory.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@
2929
import java.net.URI;
3030

3131
import org.apache.http.HttpHost;
32-
import org.apache.http.annotation.Immutable;
32+
import org.apache.http.annotation.Contract;
33+
import org.apache.http.annotation.ThreadingBehavior;
3334
import org.apache.http.conn.ConnectTimeoutException;
3435
import org.apache.http.conn.socket.ConnectionSocketFactory;
3536
import org.apache.http.protocol.HttpContext;
@@ -38,7 +39,7 @@
3839
/**
3940
* Provides a ConnectionSocketFactory for connecting Apache HTTP clients to Unix sockets.
4041
*/
41-
@Immutable
42+
@Contract(threading = ThreadingBehavior.IMMUTABLE_CONDITIONAL)
4243
public class UnixConnectionSocketFactory implements ConnectionSocketFactory {
4344

4445
private File socketFile;

src/main/java/com/github/dockerjava/jaxrs/async/AbstractCallbackNotifier.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ public Void call() throws Exception {
6161
}
6262

6363
try (InputStream inputStream = new WrappedResponseInputStream(response)) {
64+
6465
if (resultCallback != null) {
6566
responseStreamProcessor.processResponseStream(inputStream, resultCallback);
6667
}

0 commit comments

Comments
 (0)