Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi,
I designed a Joblet which implements a quite complex Salesforce Connection logic (and that's the reason why I created a Joblet), and I want to share it with several Jobs.
Unfortunately, when I include the Joblet is a Job, That Job knows the created Salesforce Connection but it is not able to use it, which is quite weird. Is that a bug or what did I make wrong?
Here below you can see a very simplified version of the Joblet and Job, in order to simply reproduce the issue.
JOBLET:
JOB:
You can see that, despite the available Connection Component ("TestConnectionJoblet_1_tSalesforceConnection_1 - SF Connection"), the tSalesforceInput_1 component does not use it.
Instead, if I add the same
tSalesforceInput Component
to the Joblet itself, it is fully able to reuse the already created connection:From the Talend Help Online I read:
therefore I would expect not any impact to the main Job.
Any solution?
Regards,
Lorenzo
Hello @Lorenzo Lucioni ,
Normally speaking, if you want to create a reusable transformation regardless of the type of input and output data source, it's recommended to use joblet.
please refer to the below article
https://help.talend.com/r/en-US/7.3/diffs-between-joblet-trunjob/when-to-use-joblet
As tSalesforceConnection doesn't have an input or output, so it's not the good way to use it in joblet.
For your case, it's recommended to do like :
Best regards
Aiming
Hi @Aiming Chen
As I wrote, the Job/Joblet example which I shown above is a simplified one. It's not our actual need.
Our actual implementation for the Joblet is:
With this solution, we have implemented a Connection retry mechanism which is missing from your tSalesforceConnection Component.
(Note: I'm aware the retry operation could be delegated to the Job re-execution itself, but for some reasons we wanted to solve it at Job design level, instead of Job execution level)
So, as you can see, our joblet contains a quite significant reusable logic.
Furthermore, you write: "As tSalesforceConnection doesn't have an input or output, so it's not the good way to use it in joblet."
Actually, a Joblet offers both the INPUT/OUTPUT Components pair (for data-in and data-out) and also TRIGGER_INPUT/TRIGGER_OUTPUT pair, hence I would expect a Joblet makes sense even when there's not any in/out data.
I also performed the same test with a MSSQL DB Connection / Input Components, and it works: the MSSQL Connection created into the Joblet is correctly shared with the main Job:
JOBLET
JOB
So, to me, it seems a Bug specifically related to the tSalesforce family of Components, when you use them across Job/Joblet.
Could you please replicate the issue on your environment and provide me a possible Job/Joblet solution (if any)?
If there's no any solution, and if you confirm it's a bug, I'll submit a bug-fix request to the Talend Support with our Company License.
Best regards,
Lorenzo
Hello @Lorenzo Lucioni ,
Thanks for your explanation.
Currently, seems there isn't a solution for the issue, please submit a bug-fix request via Talend Support
Best regards
Aiing