Встроенная кассандра не работает после обновления jdk10 - PullRequest
0 голосов
/ 20 сентября 2018

Встроенная кассандра не работает после обновления 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.

Я пробовал с разными версиями, но без помощи.Это похоже на конфликт версий, но не может его найти.

Любая помощь приветствуется.

Ответы [ 2 ]

0 голосов
/ 21 сентября 2018

https://github.com/nosan/embedded-cassandra

Дом Java можно установить во время инициализации.

0 голосов
/ 20 сентября 2018

текущие версии Cassandra не совместимы с jdk10.Вам придется понизить версию Java до jdk8.

...