开发过程中的问题,解决办法是亲测。
1、kettle java 集成以api 方式向carte发送执行job,接收到后能解析kjb文件,不能解析ktr文件;不能正常获取到资源库的名称信息
Unexpected error during transformation metadata load
2018/07/03 13:48:45 - CESHI -
2018/07/03 13:48:45 - CESHI - No repository defined!
2018/07/03 13:48:45 - CESHI -
2018/07/03 13:48:45 - CESHI - 发生了一个错误,当打开/验证 XML 文件 '//CESHI.ktr'!
解决办法,将资源库的name,id赋值到资源库实例化时;将资源库名称set到资源库类中。
2、java 调用carte 子服务,不能传递参数
将参数设置在JobExecutionConfiguration中设置参数是map
解决办法:Map<String,String> str = new HashMap<String,String>();
str.put(FMSPPING, batchNumber);
jobExecutionConfiguration.setVariables(str);
3、集成环境测试整体流程时在调用到 KettleEnvironment.init();时出现如下异常信息:java.lang.NoClassDefFoundError: com/yss/newrisk/calculationCore/mathlib/inface/mathbase/MathBase
Unable to list jar files in plugin folder 'file:/D:/pdi-ce-6.0.1.0-386new/data-integration/plugins/pentaho-big-data-plugin/plugins/'
Caused by: java.lang.ClassNotFoundException: org.apache.commons.configuration.ConfigurationException
解决办法:查看集成环境中的commons jar包的版本信息与kettle安装包中的commons jar包信息是否相同,不相同则升级。
4、单独初始化kettle环境时可正常运行,但在spring项目中运行确报错,系统环境变量已经设置KETTLE_HOME,报如下错误:
org.apache.commons.vfs2.FileSystemException: Could not load VFS configuration from "bundleresource://132.fwk1784652479:7/org/apache/commons/vfs2/impl/providers.xml".