Error deploying OSGI Bundle for ESB in Karaf

Five Stars

Error deploying OSGI Bundle for ESB in Karaf

Hello,

I have this project in Talend ESB:

1 main JOB Exposing tRESTfull method gathering parameter and passign to n°3 subjob

3 subjob executing task based on parameters.

 

Everything works ok in Talend Studio, but when I try to export main JOB (1) as OSGI Bundle for Karaf, I receive following error:

 Exception in component tRunJob_1 (Karaf_global_service)
java.lang.RuntimeException: Child job returns 1. It doesn't terminate normally.
Error: Could not find or load main class local_project.esb_fb_post_0_1.ESB_fb_post

This is the main JOB configuration:

main_job.JPG

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Any idea/suggestion? How can I manually add subjob?

 

Thx

Regs

 


Accepted Solutions
Sixteen Stars

Re: Error deploying OSGI Bundle for ESB in Karaf

You can use RunIf links within your service OR you can make use of multiple REST API Mappings in your tRESTRequest component (...assuming that is what you are using). The second solution is probably better since you can create different URI Patterns for each requirement. You would then link to different tRunJobs which are hardcoded to run 1 job instead of being dynamic.


All Replies
Sixteen Stars

Re: Error deploying OSGI Bundle for ESB in Karaf

Unfortunately the Dynamic Job functionality is not supported in the Runtime. This is annoying, but there are workarounds. Are you using the Enterprise Edition or the Open Source Edition? If you are using the Enterprise Edition you can configure your webservice to call the TAC's metaservlet API and start your required jobs in the TAC remotely. This is nice because it makes it even more dynamic. Alternatively (if you are using the Open Source Edition), you can set up your subjobs as web services as well. Then call them from your main service. You could also just add conditional logic within your web service and have multiple tRunJobs.

Five Stars

Re: Error deploying OSGI Bundle for ESB in Karaf

Hi, thx for your post.

I do confirm you I'm using OpenSource Edition.

Can you please gimme some little hints related to your suggestion "add conditional logic within your web service and have multiple tRunJobs"?

Do you mean turn each subjob as indipendent webservice, or embedd to the main webservice job all the subjobs?

Is there a simple way to add a conditional logic route detecting a variable from main webservice (like the setting for the Dynamic Job).

 

Thanks again for your help, really appreciated.

Cheers

S.

 

Sixteen Stars

Re: Error deploying OSGI Bundle for ESB in Karaf

You can use RunIf links within your service OR you can make use of multiple REST API Mappings in your tRESTRequest component (...assuming that is what you are using). The second solution is probably better since you can create different URI Patterns for each requirement. You would then link to different tRunJobs which are hardcoded to run 1 job instead of being dynamic.