Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
2c9dd89
Update README.md
brettwooldridge Mar 24, 2025
ddee141
Update README.md
brettwooldridge Mar 24, 2025
2074427
Update README.md
brettwooldridge Apr 5, 2025
d8a4706
fixes#2307 remove hardcoded timout, use validationTimeout
brettwooldridge Apr 12, 2025
491c9fb
Keep properties keys and values as it is (#2305)
quaff Apr 12, 2025
4f732c3
Remove pom configuration added when trying to generate a multi-versio…
brettwooldridge May 26, 2025
47f9adc
update CHANGES file
brettwooldridge May 27, 2025
4ef1ec9
update various maven plugin dependencies to latest
brettwooldridge May 27, 2025
c78e3a3
migrate from ossrh to maven central publishing
brettwooldridge May 27, 2025
52bdeaf
cleanup publishing phase
brettwooldridge May 27, 2025
7140372
add publish.sh script for convenience
brettwooldridge May 27, 2025
07a3efb
remove redundant plugin definitions from the release profile
brettwooldridge May 27, 2025
f0ffb11
minor cleanup
brettwooldridge May 27, 2025
00e67c7
remove conflicting plugin
brettwooldridge May 27, 2025
bcf8264
attempt to fix javadoc generation issue
brettwooldridge May 27, 2025
c701b1b
revert plugin versions. maven-javadoc-plugin is broken wrt modules.
brettwooldridge May 28, 2025
dcb5185
add sourcepath
brettwooldridge May 28, 2025
afdefdf
add sourcepath
brettwooldridge May 28, 2025
44ce7c0
suppress errors
brettwooldridge May 28, 2025
b545312
[maven-release-plugin] prepare release HikariCP-6.3.1
brettwooldridge May 28, 2025
b2c8bb0
[maven-release-plugin] prepare for next development iteration
brettwooldridge May 28, 2025
2b66241
Fix ContextClassLoader load priority problem in DriverDataSource
yx91490 Jun 8, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions CHANGES
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
HikariCP Changes

Changes in 6.3.1

* fixed #2315 source jar contains also binary .class files and missing some .java files

* fixed #2307 remove improper hardcoded timout, use validationTimeout

* fixed #2305 keep properties key and values as is rather than forcing stringification. Also fixes #2286 and #2304

* upgraded various maven plugin dependencies to latest versions

Changes in 6.3.0

* increase keepaliveTime variance from 10% to 20%
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Fast, simple, reliable. HikariCP is a "zero-overhead" production ready JDBC con
----------------------------------------------------

> [!IMPORTANT]
> In order to avoid a rare condition where the pool goes to zero and does not recover it is necessary to configure *TCP keepalive*. Some JDBC drivers support this via properties, for example ``tcpKeepAlive=true`` on PostgreSQL, but in any case it can also be configured at the OS-level. See [Setting OS TCP Keepalive](https://github.com/brettwooldridge/HikariCP/wiki/Setting-OS-TCP-Keepalive) and/or [TCP keepalive for a better PostgreSQL experience](https://www.cybertec-postgresql.com/en/tcp-keepalive-for-a-better-postgresql-experience/#setting-tcp-keepalive-parameters-on-the-operating-system).
> In order to avoid a rare condition where the pool goes to zero and does not recover it is necessary to configure *TCP keepalive*. Some JDBC drivers support this via properties, for example ``tcpKeepAlive=true`` on PostgreSQL, but in any case it can also be configured at the OS-level. See [Setting OS TCP Keepalive](https://github.com/brettwooldridge/HikariCP/wiki/Setting-Driver-or-OS-TCP-Keepalive) and/or [TCP keepalive for a better PostgreSQL experience](https://www.cybertec-postgresql.com/en/tcp-keepalive-for-a-better-postgresql-experience/#setting-tcp-keepalive-parameters-on-the-operating-system).

----------------------------------------------------

Expand All @@ -38,12 +38,12 @@ Fast, simple, reliable. HikariCP is a "zero-overhead" production ready JDBC con

### Artifacts

_**Java 11+** maven artifact:_
_**Java 11 or greater** maven artifact:_
```xml
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>6.2.1</version>
<version>6.3.0</version>
</dependency>
```
_Java 8 maven artifact (*deprecated*):_
Expand Down
151 changes: 48 additions & 103 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -24,18 +24,13 @@
<!--java11.build.outputDirectory>${project.build.directory}/classes-java11</java11.build.outputDirectory -->
<artifact.classifier />

<!-- When releasing a new version, this property controls whether the staged artifacts will be automatically
released in Nexus. If this is set to false (-DautoReleaseStagedArtifacts=false), artifacts will need to
be manually released via the Nexus UI at https://oss.sonatype.org -->
<autoReleaseStagedArtifacts>true</autoReleaseStagedArtifacts>

<docker.maven.plugin.fabric8.version>0.45.0</docker.maven.plugin.fabric8.version>
<felix.bundle.plugin.version>5.1.1</felix.bundle.plugin.version>
<felix.version>7.0.5</felix.version>
<hibernate.version>5.4.24.Final</hibernate.version>
<javassist.version>3.29.2-GA</javassist.version>
<jndi.version>0.11.4.1</jndi.version>
<maven.release.version>3.0.1</maven.release.version>
<maven.release.version>2.5.3</maven.release.version>
<metrics.version>3.2.5</metrics.version>
<metrics5.version>5.0.0-rc17</metrics5.version>
<micrometer.version>1.5.10</micrometer.version>
Expand All @@ -54,7 +49,7 @@

<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>6.3.1-SNAPSHOT</version>
<version>6.3.2-SNAPSHOT</version>
<packaging>bundle</packaging>

<name>HikariCP</name>
Expand All @@ -73,13 +68,6 @@
<tag>HEAD</tag>
</scm>

<distributionManagement>
<snapshotRepository>
<id>ossrh</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
</snapshotRepository>
</distributionManagement>

<issueManagement>
<url>https://github.com/brettwooldridge/HikariCP/issues</url>
</issueManagement>
Expand Down Expand Up @@ -287,12 +275,6 @@
</dependencies>

<build>
<resources>
<resource>
<directory>target/classes</directory>
</resource>
</resources>

<pluginManagement>
<plugins>
<plugin>
Expand All @@ -312,90 +294,24 @@
</configuration>
</plugin>

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
</plugin>

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>3.0.1</version>
</plugin>

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.3</version>
</plugin>

<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.12</version>
</plugin>

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M8</version>
<version>3.5.3</version>
<configuration>
<!-- Sets the VM argument line used when unit tests are run. -->
<argLine>${surefireArgLine} ${sureFireOptions11}</argLine>
<reuseForks>${sureFireForks11}</reuseForks>
</configuration>
</plugin>

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.0.1</version>
<configuration>
<!-- outputDirectory>/absolute/path/to/the/output/directory</outputDirectory>
<finalName>filename-of-generated-jar-file</finalName -->
<attach>true</attach>
</configuration>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.6.0</version>
<configuration>
<show>public</show>
<excludePackageNames>
com.zaxxer.hikari.hibernate:com.zaxxer.hikari.metrics.*:com.zaxxer.hikari.pool:com.zaxxer.hikari.util
</excludePackageNames>
<attach>true</attach>
<maxmemory>1024m</maxmemory>
</configuration>
<executions>
<execution>
<id>bundle-sources</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>

<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.4.1</version>
<version>3.5.0</version>
<executions>
<execution>
<id>enforce-maven</id>
Expand All @@ -415,7 +331,7 @@

<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.8</version>
<version>3.8.1</version>
<executions>
<execution>
<phase>generate-sources</phase>
Expand Down Expand Up @@ -508,7 +424,7 @@
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.8</version>
<version>0.8.13</version>
<executions>
<!-- Prepares the property pointing to the JaCoCo runtime agent which is passed as VM argument when Maven the Surefire plugin is executed. -->
<execution>
Expand Down Expand Up @@ -549,7 +465,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>3.0.0-M3</version>
<version>3.5.3</version>
<executions>
<execution>
<goals>
Expand Down Expand Up @@ -654,10 +570,25 @@
</activation>
<build>
<plugins>
<!-- Maven Release Plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>${maven.release.version}</version>
<configuration>
<goals>clean verify</goals> <!-- Prevent automatic deploy -->
</configuration>
</plugin>

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.3.0</version>
<version>3.0.1</version>
<configuration>
<!-- outputDirectory>/absolute/path/to/the/output/directory</outputDirectory>
<finalName>filename-of-generated-jar-file</finalName -->
<attach>true</attach>
</configuration>
<executions>
<execution>
<id>attach-sources</id>
Expand All @@ -672,21 +603,29 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.6.0</version>
<configuration>
<show>public</show>
<failOnError>false</failOnError>
<sourcepath>${project.build.sourceDirectory}</sourcepath>
<excludePackageNames>com.zaxxer.hikari.hibernate:com.zaxxer.hikari.metrics.*:com.zaxxer.hikari.pool:com.zaxxer.hikari.util</excludePackageNames>
<attach>true</attach>
<maxmemory>1024m</maxmemory>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<id>bundle-sources</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>

<!-- For release: mvn release:perform -Darguments=-Dgpg.passphrase=PASSPHRASE
With gpg2 you don't need to pass the passphrase; the GPG agent will prompt for it. -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>3.0.1</version>
<executions>
<execution>
<id>sign-artifacts</id>
Expand All @@ -698,18 +637,24 @@
</executions>
</plugin>

<!-- nexus-staging-maven-plugin replaces the standard maven-deploy-plugin for releases and
is useful for ensuring artifacts are all-or-nothing, as well as allowing artifacts to
be reviewed before they're made public -->
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
<version>0.7.0</version>
<extensions>true</extensions>
<configuration>
<autoReleaseAfterClose>${autoReleaseStagedArtifacts}</autoReleaseAfterClose>
<nexusUrl>https://oss.sonatype.org/</nexusUrl>
<serverId>ossrh</serverId>
<publishingServerId>central</publishingServerId>
<autoPublish>false</autoPublish>
</configuration>
<executions>
<execution>
<id>publish</id>
<phase>deploy</phase> <!-- This line is key -->
<goals>
<goal>publish</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
Expand Down
3 changes: 3 additions & 0 deletions publish.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

mvn clean && mvn package -DskipTests -Dmaven.test.skip=true && mvn release:prepare -Prelease && mvn deploy -DperformRelease=true -DskipTests -Dmaven.test.skip=true
2 changes: 1 addition & 1 deletion src/main/java/com/zaxxer/hikari/pool/PoolBase.java
Original file line number Diff line number Diff line change
Expand Up @@ -475,7 +475,7 @@ private void checkValidationSupport(final Connection connection) throws SQLExcep
{
try {
if (isUseJdbc4Validation) {
connection.isValid(1);
connection.isValid(Math.max(1, (int) MILLISECONDS.toSeconds(validationTimeout)));
}
else {
executeSql(connection, config.getConnectionTestQuery(), false);
Expand Down
Loading