Talend - 不能在 tmap 中使用 globalMap.get()
Talend - cannot use globalMap.get() in tmap
我已经在我的 tmap 中尝试了所有可能的组合,我感到沮丧得难以置信
我像这样在 tJava 中设置我的全局变量
globalMap.put("table_id",22);
然后在组件行下,我在 tMap 的输出模式中调用全局地图
globalMap.get("table_id");
并得到以下错误
Error Line: 2539
Detail Message: Type mismatch: cannot convert from Object to int
There may be some other errors caused by JVM compatibility. Make sure your JVM setup is similar to the studio.
我试过的东西
(Integer)globalMap.get("table_id")
((Integer)globalMap.get("table_id"))
Integer.parseint(globalMap.get("table_id"))
任何组合都行不通,但只需输入数字 22 即可
任何帮助都将非常有帮助
您可以改用上下文变量。
步骤 1. 在 Context 中声明变量。
第 2 步。将要赋值的变量赋值。例如context.table_id=22;
第 3 步。在 tMap 组件中使用此上下文变量。
答案就在这句话中:
Type mismatch: cannot convert from Object to int
所以,这绝对是选角问题。我确定:(Integer)globalMap.get("table_id")
应该有效!
如果不行,报错信息肯定和"Type mismatch"!
不一样
注1:最好使用原生组件"tSetGlobalVar"在globalMap中存储一个值
注意 2:上下文变量不应在运行时动态修改,因为它们不是线程安全的(globalMap 是!)。
我同意@mhassine 的观点
(Integer)globalMap.get("table_id") 应该可以工作,但我只能使用
(int)globalMap.get("table_id")
也许这是 6.3 的一个怪癖,但是是的,无法解释它
我已经在我的 tmap 中尝试了所有可能的组合,我感到沮丧得难以置信
我像这样在 tJava 中设置我的全局变量
globalMap.put("table_id",22);
然后在组件行下,我在 tMap 的输出模式中调用全局地图
globalMap.get("table_id");
并得到以下错误
Error Line: 2539
Detail Message: Type mismatch: cannot convert from Object to int
There may be some other errors caused by JVM compatibility. Make sure your JVM setup is similar to the studio.
我试过的东西
(Integer)globalMap.get("table_id")
((Integer)globalMap.get("table_id"))
Integer.parseint(globalMap.get("table_id"))
任何组合都行不通,但只需输入数字 22 即可
任何帮助都将非常有帮助
您可以改用上下文变量。
步骤 1. 在 Context 中声明变量。
第 2 步。将要赋值的变量赋值。例如context.table_id=22;
第 3 步。在 tMap 组件中使用此上下文变量。
答案就在这句话中:
Type mismatch: cannot convert from Object to int
所以,这绝对是选角问题。我确定:(Integer)globalMap.get("table_id")
应该有效!
如果不行,报错信息肯定和"Type mismatch"!
不一样注1:最好使用原生组件"tSetGlobalVar"在globalMap中存储一个值
注意 2:上下文变量不应在运行时动态修改,因为它们不是线程安全的(globalMap 是!)。
我同意@mhassine 的观点 (Integer)globalMap.get("table_id") 应该可以工作,但我只能使用
(int)globalMap.get("table_id")
也许这是 6.3 的一个怪癖,但是是的,无法解释它