diff --git a/Jenkinsfile b/Jenkinsfile
index 82d4247f9..11885b8af 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -20,10 +20,10 @@ pipeline {
stages {
stage("Docker images") {
parallel {
- stage('Publish JDK 17 + Cassandra 3.11') {
+ stage('Publish JDK 17 + Cassandra 5') {
when {
anyOf {
- changeset "ci/openjdk17-8-cassandra-3.11/**"
+ changeset "ci/openjdk17-cassandra-5/**"
changeset "ci/pipeline.properties"
}
}
@@ -31,25 +31,7 @@ pipeline {
options { timeout(time: 30, unit: 'MINUTES') }
steps {
script {
- def image = docker.build("springci/spring-data-with-cassandra-3.11:${p['java.main.tag']}", "--build-arg BASE=${p['docker.java.main.image']} --build-arg CASSANDRA=${p['docker.cassandra.3.version']} ci/openjdk17-8-cassandra-3.11/")
- docker.withRegistry(p['docker.registry'], p['docker.credentials']) {
- image.push()
- }
- }
- }
- }
- stage('Publish JDK.next + Cassandra 3.11') {
- when {
- anyOf {
- changeset "ci/openjdk23-8-cassandra-3.11/**"
- changeset "ci/pipeline.properties"
- }
- }
- agent { label 'data' }
- options { timeout(time: 30, unit: 'MINUTES') }
- steps {
- script {
- def image = docker.build("springci/spring-data-with-cassandra-3.11:${p['java.next.tag']}", "--build-arg BASE=${p['docker.java.next.image']} --build-arg CASSANDRA=${p['docker.cassandra.3.version']} ci/openjdk23-8-cassandra-3.11/")
+ def image = docker.build("springci/spring-data-with-cassandra-5:${p['java.main.tag']}", "--build-arg BASE=${p['docker.java.main.image']} --build-arg CASSANDRA=${p['docker.cassandra.3.version']} ci/openjdk17-cassandra-5/")
docker.withRegistry(p['docker.registry'], p['docker.credentials']) {
image.push()
}
@@ -78,9 +60,9 @@ pipeline {
steps {
script {
docker.withRegistry(p['docker.proxy.registry'], p['docker.proxy.credentials']) {
- docker.image("springci/spring-data-with-cassandra-3.11:${p['java.main.tag']}").inside(p['docker.java.inside.docker']) {
+ docker.image("springci/spring-data-with-cassandra-5:${p['java.main.tag']}").inside(p['docker.java.inside.docker']) {
sh 'mkdir -p /tmp/jenkins-home'
- sh 'JAVA_HOME=/opt/java/openjdk8 /opt/cassandra/bin/cassandra -R &'
+ sh 'JAVA_HOME=/opt/java/openjdk17 /opt/cassandra/bin/cassandra -R &'
sh 'MAVEN_OPTS="-Duser.name=' + "${p['jenkins.user.name']}" + ' -Duser.home=/tmp/jenkins-home" ' +
"./mvnw -s settings.xml -Pci,external-cassandra -Ddevelocity.storage.directory=/tmp/jenkins-home/.develocity-root -Dmaven.repo.local=/tmp/jenkins-home/.m2/spring-data-cassandra " +
"clean dependency:list verify -Dsort -U -B"
@@ -90,41 +72,6 @@ pipeline {
}
}
- stage("Test other configurations") {
- when {
- beforeAgent(true)
- allOf {
- branch(pattern: "main|(\\d\\.\\d\\.x)", comparator: "REGEXP")
- not { triggeredBy 'UpstreamCause' }
- }
- }
- parallel {
- stage("test: baseline (next)") {
- agent {
- label 'data'
- }
- options { timeout(time: 30, unit: 'MINUTES') }
- environment {
- ARTIFACTORY = credentials("${p['artifactory.credentials']}")
- DEVELOCITY_ACCESS_KEY = credentials("${p['develocity.access-key']}")
- }
- steps {
- script {
- docker.withRegistry(p['docker.proxy.registry'], p['docker.proxy.credentials']) {
- docker.image("springci/spring-data-with-cassandra-3.11:${p['java.next.tag']}").inside(p['docker.java.inside.docker']) {
- sh 'mkdir -p /tmp/jenkins-home'
- sh 'JAVA_HOME=/opt/java/openjdk8 /opt/cassandra/bin/cassandra -R &'
- sh 'MAVEN_OPTS="-Duser.name=' + "${p['jenkins.user.name']}" + ' -Duser.home=/tmp/jenkins-home" ' +
- "./mvnw -s settings.xml -Pci,external-cassandra -Ddevelocity.storage.directory=/tmp/jenkins-home/.develocity-root -Dmaven.repo.local=/tmp/jenkins-home/.m2/spring-data-cassandra " +
- "clean dependency:list verify -Dsort -U -B"
- }
- }
- }
- }
- }
- }
- }
-
stage('Release to artifactory') {
when {
beforeAgent(true)
diff --git a/ci/openjdk17-8-cassandra-3.11/Dockerfile b/ci/openjdk17-cassandra-5/Dockerfile
similarity index 76%
rename from ci/openjdk17-8-cassandra-3.11/Dockerfile
rename to ci/openjdk17-cassandra-5/Dockerfile
index d3653d0c1..d87a0b8b0 100644
--- a/ci/openjdk17-8-cassandra-3.11/Dockerfile
+++ b/ci/openjdk17-cassandra-5/Dockerfile
@@ -15,13 +15,12 @@ RUN set -eux; \
useradd -d /home/jenkins-docker -m -u 1001 -U jenkins-docker;
RUN set -eux; \
- BINARY_URL='https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u322-b06/OpenJDK8U-jdk_x64_linux_hotspot_8u322b06.tar.gz'; \
+ BINARY_URL='https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.14%2B7/OpenJDK17U-jdk_x64_linux_hotspot_17.0.14_7.tar.gz'; \
curl -LfsSo /tmp/openjdk.tar.gz ${BINARY_URL}; \
- mkdir -p /opt/java/openjdk8; \
- cd /opt/java/openjdk8; \
+ mkdir -p /opt/java/openjdk17; \
+ cd /opt/java/openjdk17; \
tar -xf /tmp/openjdk.tar.gz --strip-components=1; \
rm -rf /tmp/openjdk.tar.gz;
-ENV PATH="/opt/java/openjdk8/bin:$PATH"
ENV MAX_HEAP_SIZE=1500M
ENV HEAP_NEWSIZE=300M
diff --git a/ci/openjdk23-8-cassandra-3.11/Dockerfile b/ci/openjdk23-8-cassandra-3.11/Dockerfile
deleted file mode 100644
index 37f35f8db..000000000
--- a/ci/openjdk23-8-cassandra-3.11/Dockerfile
+++ /dev/null
@@ -1,34 +0,0 @@
-ARG BASE
-FROM ${BASE}
-# Any ARG statements before FROM are cleared.
-ARG CASSANDRA
-
-RUN set -eux; \
-# sed -i -e 's/http/https/g' /etc/apt/sources.list ; \
- apt-get update ; \
- apt-get install -y curl; \
- apt-get clean; \
- rm -rf /var/lib/apt/lists/*;
-
-RUN set -eux; \
- CASSANDRA_URL="https://archive.apache.org/dist/cassandra/${CASSANDRA}/apache-cassandra-${CASSANDRA}-bin.tar.gz"; \
- sed -i -e 's/http/https/g' /etc/apt/sources.list ; \
- curl -LfsSo /tmp/cassandra.tar.gz ${CASSANDRA_URL}; \
- mkdir -p /opt/cassandra /opt/cassandra/data /opt/cassandra/logs; \
- cd /opt/cassandra; \
- tar -xf /tmp/cassandra.tar.gz --strip-components=1; \
- rm -rf /tmp/cassandra.tar.gz; \
- chmod -R a+rwx /opt/cassandra; \
- useradd -d /home/jenkins-docker -m -u 1001 -U jenkins-docker;
-
-RUN set -eux; \
- BINARY_URL='https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u322-b06/OpenJDK8U-jdk_x64_linux_hotspot_8u322b06.tar.gz'; \
- curl -LfsSo /tmp/openjdk.tar.gz ${BINARY_URL}; \
- mkdir -p /opt/java/openjdk8; \
- cd /opt/java/openjdk8; \
- tar -xf /tmp/openjdk.tar.gz --strip-components=1; \
- rm -rf /tmp/openjdk.tar.gz;
-
-ENV PATH="/opt/java/openjdk8/bin:$PATH"
-ENV MAX_HEAP_SIZE=1500M
-ENV HEAP_NEWSIZE=300M
diff --git a/ci/pipeline.properties b/ci/pipeline.properties
index cd2fcf7fb..9198f08b3 100644
--- a/ci/pipeline.properties
+++ b/ci/pipeline.properties
@@ -18,7 +18,7 @@ docker.redis.6.version=6.2.13
docker.redis.7.version=7.2.4
# Supported versions of Cassandra
-docker.cassandra.3.version=3.11.16
+docker.cassandra.5.version=5.0.3
# Docker environment settings
docker.java.inside.basic=-v $HOME:/tmp/jenkins-home
diff --git a/pom.xml b/pom.xml
index 3c5082df2..6772e8dc4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -89,7 +89,7 @@
19160
17001
17000
- 3.11.12
+ 5.0.3
4.19.0
spring-data-cassandra
1.0
@@ -130,23 +130,6 @@
-
- org.apache.cassandra
- cassandra-thrift
- ${cassandra.version}
- test
-
-
- ch.qos.logback
- logback-core
-
-
- io.netty
- netty-all
-
-
-
-
org.assertj
assertj-core
diff --git a/spring-data-cassandra/pom.xml b/spring-data-cassandra/pom.xml
index 7cc663a41..3b1b06577 100644
--- a/spring-data-cassandra/pom.xml
+++ b/spring-data-cassandra/pom.xml
@@ -108,6 +108,13 @@
test
+
+ com.googlecode.json-simple
+ json-simple
+ 1.1
+ test
+
+
io.projectreactor
@@ -163,11 +170,6 @@
-
- org.apache.cassandra
- cassandra-thrift
-
-
org.testcontainers
cassandra
diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/util/CassandraDelegate.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/util/CassandraDelegate.java
index 73f2a5a9e..007ac23b3 100644
--- a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/util/CassandraDelegate.java
+++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/util/CassandraDelegate.java
@@ -33,7 +33,7 @@ import org.springframework.lang.NonNull;
import org.springframework.util.Assert;
import org.springframework.util.StringUtils;
-import org.testcontainers.containers.CassandraContainer;
+import org.testcontainers.cassandra.CassandraContainer;
import org.testcontainers.utility.DockerImageName;
import org.testcontainers.utility.MountableFile;
@@ -61,7 +61,7 @@ import com.datastax.oss.driver.api.core.metadata.Node;
*/
class CassandraDelegate {
- private static CassandraContainer> container;
+ private static CassandraContainer container;
private static final Logger log = LoggerFactory.getLogger(CassandraDelegate.class);
@@ -276,7 +276,8 @@ class CassandraDelegate {
if (container == null) {
- container = getCassandraDockerImageName().map(CassandraContainer::new).orElseGet(CassandraContainer::new);
+ container = getCassandraDockerImageName().map(CassandraContainer::new)
+ .orElseGet(() -> new CassandraContainer("cassandra:5.0.3"));
DockerImageName imageName = DockerImageName.parse(container.getDockerImageName());
String versionPart = imageName.getVersionPart();
diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/util/EmbeddedCassandraServerHelper.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/util/EmbeddedCassandraServerHelper.java
index 55d3fcaa6..2fb2ba8fb 100644
--- a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/util/EmbeddedCassandraServerHelper.java
+++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/util/EmbeddedCassandraServerHelper.java
@@ -101,15 +101,6 @@ class EmbeddedCassandraServerHelper {
return DatabaseDescriptor.getNativeTransportPort();
}
- /**
- * Get embedded cassandra RPC port.
- *
- * @return the cassandra RPC port
- */
- public static int getRpcPort() {
- return DatabaseDescriptor.getRpcPort();
- }
-
/**
* Start an embedded Cassandra instance.
*