我正在使用Talend进行集成,我想知道是否可以将数据从tJavaRow
传递到tJava
组件。
例如:
tJavaRow
组件:
String check = input_row.foo;
if( check.contains("Yes")){
String ret = "OK";
return ret;
}
tJava
组件:
System.out.println(ret);
有没有办法打印ret
,这是计算下一个组件中前一个组件的结果?
答案 0 :(得分:2)
解决方案是使用globalMap
或tSetGlobalMap
globalMap.put("ret", ret);
并使用
恢复它globalMap.get("ret");
/!\重要/ / \
但请注意,如果您在
等主流中使用tJava
tRowGenerator > row1 > tJava > row2> tLogRow
tRowGenerator
生成10行1到10 tJava
,例如System.out.println("foo");
tLogRow
打印数值输出
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);
}