将数据从tJavaRow传递到Talend中的tJava

时间:2017-12-14 14:12:06

标签: java talend

我正在使用Talend进行集成,我想知道是否可以将数据从tJavaRow传递到tJava组件。

例如:

tJavaRow组件:

String check = input_row.foo;

if( check.contains("Yes")){
    String ret  = "OK";
    return ret; 
}

tJava组件:

System.out.println(ret);

有没有办法打印ret,这是计算下一个组件中前一个组件的结果?

1 个答案:

答案 0 :(得分:2)

解决方案是使用globalMaptSetGlobalMap

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);
}