嵌入式cassandra在jdk10升级后无法正常工作。有人可以帮我这个忙吗?
Cassandra配置:
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}")
}
//集成测试更改结束
在jdk10升级之前或升级过程中,任何人都遇到了这个问题。
我尝试了不同的版本,但没有帮助。看起来有些版本冲突,但找不到它。
感谢您的帮助。
答案 0 :(得分:2)
当前的Cassandra版本与jdk10不兼容。您必须将Java降级为jdk8。
答案 1 :(得分:2)
https://github.com/nosan/embedded-cassandra
可以在初始化期间设置Java home。