Embedded cassandra not working after jdk10 upgrade. Could some one help me on this.
Cassandra config:
try {
EmbeddedCassandraServerHelper.startEmbeddedCassandra();
}catch (Exception e) {
LOGGER.error(" CommonConfig ",
" cluster()::Exception while creating cluster ", e);
System.setProperty("cassandra.config", "cassandra.yaml");
DatabaseDescriptor.daemonInitialization();
EmbeddedCassandraServerHelper.startEmbeddedCassandra();
}
Cluster cluster = Cluster.builder()
.addContactPoints(environment.getProperty(TextToClipConstants.CASSANDRA_CONTACT_POINTS)).withPort(Integer.parseInt(environment.getProperty(TextToClipConstants.CASSANDRA_PORT))).build();
Session session = cluster.connect();
session.execute(KEYSPACE_CREATION_QUERY);
session.execute(KEYSPACE_ACTIVATE_QUERY);
build.gradle
import com.bmuschko.gradle.docker.tasks.image.Dockerfile
import java.text.SimpleDateFormat;
import org.apache.tools.ant.taskdefs.condition.Os
buildscript {
ext {
springBootVersion = '2.0.1.RELEASE'
}
repositories {
mavenCentral()
mavenLocal()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
classpath ("com.bmuschko:gradle-docker-plugin:3.2.1")
classpath ("org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.5")
classpath("au.com.dius:pact-jvm-provider-gradle_2.12:3.5.13")
classpath ("com.moowork.gradle:gradle-node-plugin:1.2.0")
}
}
plugins {
//id "au.com.dius.pact" version "3.5.7"
id "com.gorylenko.gradle-git-properties" version "1.4.17"
id "de.undercouch.download" version "3.4.2"
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
apply plugin: 'com.bmuschko.docker-remote-api'
apply plugin: 'jacoco'
apply plugin: 'maven-publish'
apply plugin: 'org.sonarqube'
apply plugin: 'au.com.dius.pact'
apply plugin: 'scala'
sourceCompatibility = 1.8
repositories {
mavenCentral()
maven { url "https://repo.spring.io/milestone" }
mavenLocal()
}
ext {
springCloudVersion = 'Finchley.RELEASE'
}
pact {
serviceProviders {
rxorder {
publish {
pactDirectory = '/Users/sv/Documents/wag-doc-text2clip/target/pacts' // defaults to $buildDir/pacts
pactBrokerUrl = 'http://localhost:80'
version=2.0
}
}
}
}
//start of integration tests changes
sourceSets {
integrationTest {
java {
compileClasspath += main.output + test.output
runtimeClasspath += main.output + test.output
srcDir file('test/functional-api/java')
}
resources.srcDir file('test/functional-api/resources')
}
}
configurations {
integrationTestCompile.extendsFrom testCompile
integrationTestRuntime.extendsFrom testRuntime
}
//end of integration tests changes
dependencies {
//web (Tomcat, Logging, Rest)
compile group: 'org.springframework.boot', name: 'spring-boot-starter-web'
// Redis
//compile group: 'org.springframework.boot', name: 'spring-boot-starter-data-redis'
//Mongo Starter
compile group: 'org.springframework.boot', name:'spring-boot-starter-data-mongodb'
// Configuration processor - To Generate MetaData Files. The files are designed to let developers offer “code completion� as users are working with application.properties
compile group: 'org.springframework.boot', name: 'spring-boot-configuration-processor'
// Actuator - Monitoring
compile group: 'org.springframework.boot', name: 'spring-boot-starter-actuator'
//Sleuth - Tracing
compile group: 'org.springframework.cloud', name: 'spring-cloud-starter-sleuth'
//Hystrix - Circuit Breaker
compile group: 'org.springframework.cloud', name: 'spring-cloud-starter-netflix-hystrix'
// Hystrix - Dashboard
compile group: 'org.springframework.cloud', name: 'spring-cloud-starter-netflix-hystrix-dashboard'
// Thymeleaf
compile group: 'org.springframework.boot', name: 'spring-boot-starter-thymeleaf'
//Voltage
// Device Detection
compile group: 'org.springframework.boot', name: 'spring-boot-starter-data-cassandra', version:'2.0.4.RELEASE'
compile group: 'com.google.guava', name: 'guava', version: '23.2-jre'
compile('com.google.code.gson:gson:2.8.0')
compile('org.json:json:20170516')
//Swagger
compile group: 'io.springfox', name: 'springfox-swagger2', version:'2.8.0'
compile group: 'io.springfox', name: 'springfox-swagger-ui', version:'2.8.0'
//jkd10 fixes
compile group: 'javax.xml.bind',name: 'jaxb-api', version:'2.3.0'
compile group: 'javax.xml.soap', name: 'javax.xml.soap-api', version:'1.3.5'
compile group: 'com.sun.xml.messaging.saaj', name: 'saaj-impl', version:'1.4.0'
compile group: 'javax.activation', name: 'activation', version: '1.1.1'
compile group: 'org.glassfish.jaxb', name: 'jaxb-runtime', version:'2.3.0.1'
testCompile group: 'net.sourceforge.cobertura', name: 'cobertura', version: '2.1.1'
//Lombok
compileOnly group: 'org.projectlombok', name: 'lombok'
compile group: 'io.smartcat', name: 'cassandra-diagnostics-connector21', version: '1.4.10'
//Testing
//Spring WS Test
testCompile group: 'org.springframework.ws', name: 'spring-ws-test', version:'2.4.0.RELEASE'
testCompile('org.springframework.boot:spring-boot-starter-test'){
exclude group: "com.vaadin.external.google", module:"android-json"
}
//Pact
testCompile group: 'au.com.dius', name: 'pact-jvm-provider-gradle_2.12', version: '3.5.7'
testCompile group: 'au.com.dius', name:'pact-jvm-provider-junit_2.12',version:'3.5.13'
testCompile group: 'au.com.dius', name:'pact-jvm-consumer-junit_2.12', version:'3.5.13'
//Embedded mongo for testing
testCompile group: 'de.flapdoodle.embed', name:'de.flapdoodle.embed.mongo',version:'2.0.1'
//testCompile group: 'cz.jirutka.spring', name: 'embedmongo-spring', version: '1.1'
compile group: 'info.cukes', name: 'cucumber-jvm', version: '1.2.5'
testCompile group: 'io.cucumber', name: 'cucumber-junit', version: '3.0.2'
compile group: 'io.cucumber', name: 'cucumber-spring', version: '3.0.2'
testCompile('org.cassandraunit:cassandra-unit-spring:3.5.0.1'){
exclude group: 'org.cassandraunit', module: 'cassandra-unit'
}
// https://mvnrepository.com/artifact/org.cassandraunit/cassandra-unit-shaded
compile group: 'org.cassandraunit', name: 'cassandra-unit-shaded', version: '3.5.0.1'
// https://mvnrepository.com/artifact/org.hectorclient/hector-core
compile group: 'org.hectorclient', name: 'hector-core', version: '2.0-0'
compile group: 'org.apache.cassandra', name: 'cassandra-all', version: '3.11.3'
integrationTestCompile group: 'org.springframework.ws', name: 'spring-ws-test', version:'2.4.0.RELEASE' //changes for integration tests
integrationTestCompile("org.springframework.boot:spring-boot-starter-test"){ //changes for integration tests
exclude group: "com.vaadin.external.google", module:"android-json"
}
//integrationTestCompile group: 'info.cukes', name: 'cucumber-junit', version: '1.2.5' //changes for integration tests
//integrationTestCompile group: 'info.cukes', name: 'cucumber-spring', version: '1.2.5' //changes for integration tests
}
dependencyManagement {
imports {
mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
}
}
test {
//ignoreFailures = true
reports.junitXml.enabled = false
reports.html.enabled = true
testLogging {
exceptionFormat = 'full'
}
jacoco {
append = false
destinationFile = file("$buildDir/jacoco/jacocoTest.exec")
maxHeapSize = '2048m'
minHeapSize = '1024m'
//classDumpDir = file("$buildDir/jacoco/classpathdumps")
}
}
jacocoTestReport {
group = "Reporting"
reports {
xml.enabled true
csv.enabled false
html.destination "${buildDir}/reports/coverage"
}
afterEvaluate {
classDirectories = files(classDirectories.files.collect {
fileTree(dir: it,
exclude: [
'**/config*',
'**/coupons/TextToClipApplication*',
'**/bean/*Request*',
'**/bean/*Response*',
])
})
}
}
test.finalizedBy jacocoTestReport
jacoco {
toolVersion = "0.8.2"
reportsDir = file("$buildDir/customJacocoReportDir")
}
task createDockerfile(type: Dockerfile,dependsOn:'unzipVoltageDependencies') {
println 'createDockerfile'
println 'createDockerfile'
//Dockerfile path
destFile = project.file('Dockerfile')
//Base Image
from 'nonprodregistry.azurecr.io/baseimg/zulu-openjdk_10u02_ubuntu18.04:v1'
//from 'nonprodregistry.azurecr.io/zulu-openjdk:8'
copyFile 'voltage-dependencies/', '/usr/local/ecomm/voltage-dependencies/'
//Add Springboot Jar
addFile '/build/libs/' + project.name + '.jar', '/usr/local/ecomm/app/' + project.name + '.jar'
}
/**
For Voltage dependencies
*/
springBoot {
buildInfo {
properties {
additional = [
'time': buildTime()
]
}
}
}
def buildTime() {
final dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ssZ")
dateFormat.timeZone = TimeZone.getTimeZone('CST')
dateFormat.format(new Date())
}
sonarqube {
properties {
property 'sonar.projectName', 'text2clip'
property 'sonar.coverage.exclusions', "**/config/*,**/coupons/TextToClipApplication*,**/bean/*,**/collection/*"
}
}
//start of changes for integration tests
task apifunctionaltest(type: Test) {
systemProperty "integrationurl", System.getProperty("integrationurl")
reports.junitXml.enabled = false
reports.html.enabled = true
testLogging {
exceptionFormat = 'full'
}
testClassesDirs = sourceSets.integrationTest.output.classesDirs
classpath = sourceSets.integrationTest.runtimeClasspath
outputs.upToDateWhen { false }
reports.html.destination = file("${reporting.baseDir}/${name}")
}
//end of changes for integration tests
Anyone has faced this issue before or during jdk10 upgrade.
I tried with different versions, but no help. It looks like some version conflict, but not able to find it.
Any help is appreciated.
the current Cassandra versions are not compatible with jdk10. You'll have to downgrade your java to jdk8.