我正在使用Talend进行集成,我想知道是否有可能将数据从tJavaRow
传递到tJava
组件。
例如:
tJavaRow
组件:
String check = input_row.foo;
if( check.contains("Yes")){
String ret = "OK";
return ret;
}
tJava
组件:
System.out.println(ret);
有没有一种方法可以打印ret
,它是在下一个组件中计算前一个组件的结果?
发布于 2017-12-14 22:21:03
解决方案是使用globalMap
或tSetGlobalMap
globalMap.put("ret", ret);
并使用以下命令恢复它
globalMap.get("ret");
/!\重要/!\
但请注意,如果在主流中使用tJava
,如
tRowGenerator > row1 > tJava > row2> tLogRow
tRowGenerator
像System.out.println("foo");
tLogRow
一样为1到10的tJava
生成10行输出数值输出将是
foo
1
2
3
4
5
6
7
8
9
10
tJava
中的代码在第一行生成之前只执行一次。检查生成的代码,您可以看到
System.out.println("foo");
....
for(int i = 0; i < 10; i++){
logrow.print(i);
}
https://stackoverflow.com/questions/47815404
复制相似问题