DEV Community

Query Filter
Query Filter

Posted on

bridge-1

// 1. SAFELY RESOLVE THE KEYSTORE PATH OUTSIDE THE ARRAY
        def keystoreFile = file("src/main/config/${region}/${env}/comet.${env}.keystore")
        def finalKeyStorePath = keystoreFile.exists() ? 
            keystoreFile.absolutePath : 
            file("src/main/config/${region}/qa/comet.qa.keystore").absolutePath

        if (!keystoreFile.exists()) {
            println "Warning! Task: ${task_name} ${env} keystore ${keystoreFile} not found, using QA!"
        }

        // 2. DEFINE AN EMPTY LIST AND EXPLICITLY APPEND EVERY ARGUMENT
        def taskJvmArgs = []
        taskJvmArgs.add('-Xms2G')
        taskJvmArgs.add('-Xmx4G')
        taskJvmArgs.add('-Xss256k')
        taskJvmArgs.add("-Djavax.net.ssl.keyStore=${finalKeyStorePath}")
        taskJvmArgs.add("-Djavax.net.ssl.keyStorePassword=cometprod1")
        taskJvmArgs.add("-DenableRestrictiveQtyCheck=false")
        taskJvmArgs.add("-Djava.io.tmpdir=${tempDir}/log")
        taskJvmArgs.add("-Dconfig_file=" + file("src/main/config/${region}/${country ? '/' + country : ''}/${env}/qffbridge.xml").absolutePath)
        taskJvmArgs.add("-Dcom.citigroup.get.prodapi.config.filename=${productApiConfig}")
        taskJvmArgs.add("-Dcom.citigroup.get.accountapi.config.filename=${refdataApiconfig}")
        taskJvmArgs.add("-Dcom.citigroup.get.refdata.config.filename=${refdataApiconfig}")
        taskJvmArgs.add("-Dapplication=QFFBridgeRouter")
        taskJvmArgs.add("-Dinstance=${instanceName}")
        taskJvmArgs.add("-Dcom.citigroup.qffbridge.cache.persistentCache=${tempDir}/store")
        taskJvmArgs.add("-Djava.util.logging.config.file=" + file("src/main/config/logger.properties").absolutePath)
        taskJvmArgs.add("-Dcom.citigroup.qffbridge.idcache.storeName=${tempDir}/store")
        taskJvmArgs.add("-Dregion=${region}/${country ? '/' + country : ''}")
        taskJvmArgs.add("-Dcom.citigroup.get.prodapi.dbconn.max.number=60")
        taskJvmArgs.add("-Dcom.citigroup.get.refdata.dbconn.max.number=60")
        taskJvmArgs.add("-Dcom.citigroup.get.citijdbc.dbconn.max.number=60")
        taskJvmArgs.add("-DJDBCURL")
        taskJvmArgs.add("-Dpropertiess_file=" + file("src/main/config/${region}/${env}/rejecthandler.properties").absolutePath)

        // 3. APPEND EXPLICIT GC ARGUMENTS
        Boolean isHeapDump = false
        if (isHeapDump) {
            taskJvmArgs.add('-XX:+UseG1GC')
            taskJvmArgs.add('-XX:+PrintGCDetails')
            taskJvmArgs.add('-XX:+PrintGCTimeTimestamps')
            taskJvmArgs.add('-XX:+PrintGCDateTimestamps')
            taskJvmArgs.add('-XX:+PrintTenuringDistribution')
            taskJvmArgs.add("-Dsun.rmi.dgc.server.gcInterval=0x7FFFFFFFFFFFFFFF")
            taskJvmArgs.add("-Dsun.rmi.dgc.client.gcInterval=0x7FFFFFFFFFFFFFFF")
            taskJvmArgs.add("-Xnoagent")
            taskJvmArgs.add("-XX:HeapDumpPath=${tempDir}/OutOfHeapMemory.${task_name}.dmp")
            taskJvmArgs.add("-XX:+HeapDumpOnOutOfMemoryError")
        } else {
            taskJvmArgs.add('-XX:+UseG1GC')
            taskJvmArgs.add('-XX:+PrintGCDetails')
            taskJvmArgs.add('-XX:+PrintGCTimeTimestamps')
            taskJvmArgs.add('-XX:+PrintGCDateTimestamps')
            taskJvmArgs.add('-XX:+PrintTenuringDistribution')
            taskJvmArgs.add("-Dsun.rmi.dgc.server.gcInterval=0x7FFFFFFFFFFFFFFF")
            taskJvmArgs.add("-Dsun.rmi.dgc.client.gcInterval=0x7FFFFFFFFFFFFFFF")
            taskJvmArgs.add("-Xnoagent")
            taskJvmArgs.add("-XX:HeapDumpPath=${tempDir}/OutOfHeapMemory.${task_name}.dmp")
        }

        Boolean isPackage = false
        if (isPackage) {
            taskJvmArgs.add("-Dpackage.version=9.1.89n_b15")
        }

        // Final explicit assignment
        jvmArgs = taskJvmArgs
Enter fullscreen mode Exit fullscreen mode

Top comments (0)