从 Pipeline 调用的 Gpars withPool 方法

Gpars withPool method called from Pipeline

我在 'PreVerifymanager.groovy' 中实现了我的 GParsPool.withPool,如下所示。

import groovyx.gpars.GParsPool


public class PreVerifyManager {

    static final THREADS = 3;
    public void callMe() {

        PreVerifyManager pf = new PreVerifyManager()

        def apps = ["App1","App2","App3"]
        GParsPool.withPool(PreVerifyManager.THREADS) {
            apps.eachParallel {
                pf.CreateFile(it)
            }
        }

    }


    public void CreateFile(String path){
        path = "D:\"+path+".txt";
        println(path)
        File file = new File(path)
        file.write("Some text")


    }
}

这在我的 IDE 中使用 PreVerifyManager 的主要方法工作正常。但是当我删除主要方法并在管道脚本中创建的 PreVerifyManager 对象上调用方法 callMe 时,它​​不起作用。

流水线脚本如下:

node {
    def PreVerifyManagerObj

    stage 'TibcoConfig'
    echo 'Reading Tibco configuration!'
    println "****************INSIDE PIPELINE****************"
    def parent = getClass().getClassLoader()
    def loader = new GroovyClassLoader(parent)

    PreVerifyManagerObj = loader.parseClass(new File("D://Tibco_Automation//src//com//meet//PreVerifyManager.groovy")).newInstance()

    PreVerifyManagerObj.callMe()
   }

基本上,我将 GParsPool.withPool 实现与管道脚本集成在一起。欢迎任何意见。

问题已解决。在调用实际方法之前,您必须将 class 中引用的所有对象加载到管道脚本框中。