空流量时tSalesforceOutputBulkExec NPE的变通方法

时间:2017-06-13 15:57:18

标签: salesforce integration talend

这篇文章不是一个问题,只是我想与Salesforce集成有关的任何人分享。

对于TDI 6.3.1,输入空流会导致tSalesforceOutputBulkExec因空指针异常而失败。 6.2.x及之前的版本并非如此。

幸运的是,至少有2种解决方法:

1- 将流存储在tHashOutput 中,然后使用条件链接将其链接到tHashInput,最后将tHashInput链接到tSalesforceOutputBulkExec:enter image description here 条件表达式如下:
((Integer)globalMap.get("tHashOutput_12_NB_LINE")) > 0

将此解决方法用于有限大小的流,否则您可能会遇到内存异常。 如果在此操作后不再需要重复使用该内容,也请勾选tHashInput组件的“清除缓存后”选项。

使用条件链接链接到tSalesforceOutputExec的tSalesforceOutputBulk

2- 替换tSalesforceOutputBulkExec 组件: enter image description here
在这种情况下,条件表达式是:
((Integer)globalMap.get("tSalesforceOutputBulk_1_NB_LINE")) > 0

使用此解决方案对流量大小没有限制,因为tSalesforceOutputBulk使用文件(与tSalesforceOutputBulkExec相同),因此如果您需要管理大量流量,则可能更喜欢它。

优势,对于这两个解决方案与tSalesforceOutputBulkExec相比,您对Salesforce Bulk API的调用较少(因为您不再调用空流)。

希望这会对你有所帮助。

TRF

0 个答案:

没有答案