我的GParsPool.withPool在'PreVerifymanager.groovy'中实现,如下所示。
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的主方法可以正常工作。但是当我删除main方法并在Pipeline脚本中创建的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实现与Pipeline脚本集成。任何意见都表示赞赏。
答案 0 :(得分:0)
问题得到解决。在调用实际方法之前,必须将类中引用的所有对象加载到Pipeline脚本框中。