Talend - 为什么我的tJava和tJavaRow组件不按顺序触发

时间:2016-01-14 12:56:40

标签: java talend

Talend

我正在尝试测试变量作用域并将变量传递给jobjets和subjobs。

我在这个带有一个joblet的测试工作中我不明白的是我看到的原因

Item 1
Item 2
Item 3
Item 4 - Last Item in Parent Job

在我的输出中看到之后:

In Joblet...
{concurrentHashMap={}, tRowGenerator_1_SUBPROCESS_STATE=0}

当左边的父作业中的tJavaRow_2在joblet之前的流程中。而我的List正在作为jobjet中tJava_1组件的一部分输出,所以逻辑上你认为会在tJavaRow_2之后执行。在joblet中,tJava_1看起来像这样:

System.out.println("In Joblet...");

System.out.println(globalMap.toString());

List<String> myTestList = (ArrayList<String>) globalMap.get("testList");

我的tJavaRow_2代码如下:

List<String> testList = new ArrayList<String>();
              testList.add("Item 1");
              testList.add("Item 2");
              testList.add("Item 3");
              testList.add("Item 4 - Last Item in Parent Job");

              for(String item : testList)
              {

                System.out.println(item);
              }

              globalMap.put("testList", testList);

              System.out.println("Exiting....");

0 个答案:

没有答案