Whenever I use an independent process to run a subjob I get the following error "cannot find main method in talend job"
If I run the job directly from Talend open studio for ESB it works fine. However once I export as OSGI bundle and deploy in an ESB runtime server I get the above error.
Any advise on what I might be doing wrong?
What does your ESB job look like? Is there any more error message in tesb.log file?
On which official version did you get that?
What we can do is to make sure that Talend will be your best choice!
After some research, it seemed the challenge was with the ESB runtime in use. I saw I had to deactivate a userCache properties but I couldnt locate said property in any of the property files in the server.
Due to time constraints, I decided to build the job as a standaloneJob instead; executing it via a .BAT file. This worked without any issues just like it did on on the studio.
I'm open to further suggestions or recommendations though. Anything for optimal performance and best practices.
I am curious as to why you are running a Talend Job inside Apache Karaf (or the runtime)? The Karaf (amongst other things) basically allows you to use the same JVM for all of your artefacts. This means that they essentially share the same memory. In the Enterprise Edition, the runtime is charged (or at least was last time I was connected to a sale) to the cpus and memory. Why waste that memory and the cpus on a batch job?
Also, the "Use an independent process to run subjob" option is basically for memory issues. Putting the subjob in a different process will get it to spawn a new JVM. This makes no sense in Apache Karaf.
If you have the Enterprise Edition, I would suggest running your DI Jobs on a Jobserver and putting only your services and routes in the ESB Runtime. If you are using the Open Source Edition, I would suggest using the cron tab (Linux) or a scheduler (Windows) to start your batch (DI) Jobs, and use the ESB Runtime to run just services and routes.
I have been facing the exact same problem at runtime in Karaf. It turns out that it is not possible to check "run as an independent job" in subjobs when job will be run in Karaf.
Wouldn't it be better be handled at build time and not rely on user to make sure all subjobs are unchecked ?
This option should not raise an exception in Karaf, it should just have no effect, imho.