tRunJob with UseDynamicJob option does not work within Karaf
We have created the following set of Camel routes and jobs in Talend OpenStudio ESB 5.6.2:
[list=*]
Camel route: cTimer -> cTalendJob
Talend Job: tRouteInput -> tRunJob (with use dynamic job option and reference to other two jobs)
Other two Talend jobs to be called from the main job
Whereas this setup works well from Open Studio (both Run and Debug modes), it fails in Talend Runtime (Karaf) with the following error:
Error: Could not find or load main class project_name.timer_dynamic_job2_0_1.Timer_Dynamic_Job2
It seems that the dynamically-called class loaded by tRunJob cannot be instantiated in OGSI container, because it is not exported in OGSI manifest.
Please help. Michal Bureš
Have you already checked component reference: https://help.talend.com/search/all?query=tRunJob&content-lang=en-US
The Use dynamic job option is not compatible with the Jobserver cache. Therefore, the execution may fail if you run a Job that contains tRunjob with this check box selected in Talend Administration Center.
Is it working when Use dynamic job option is unchecked?
Hi Sabrina, tRunJob runs fine in our environment (OGSI container Apache Karaf) with UseDynamicJob unchecked. HOWEVER, Jobserver is a different component, part of Talend DI. In contrary, we build the job as KAR (as it is triggered by a Camel route) and we run it in the OSGI container Apache Karaf, shipped with Talend ESB. Karaf is not mentioned in this document. I am not really aware about the technical platform of DI's JobServer, but in terms of ESB's OSGI container, I guess that the problem might be either that 1/ UseDynamicJob option work in a similar manner as UseIndependProcess option, or 2/ dynamic class loading, which is always harder in OSGI environment. But it is just my theory... Please advice.