AnsweredAssumed Answered

Unable to call PDI JOB from a JSP page

Question asked by saket Maheshwary on Nov 1, 2018

We have an application where we get some input arguments in a JSP and then call a pentaho Job from with JSP using command:

 

Runtime.getRuntime().exec(etlCommand);

 

Basically what we do is we, call a batch file from JSP. We pass all the arguments into batch file which in turn calls kettle.bat to invoke PDI Job.

 

 

While doing so it executes the batch file and once the job is done, it does not returns the control and also does not releases lock on the log file. Any subsequent execution of the job results in error because second time PDI is not able to lock the log file for writing.

 

 

We can execute the same batch (exact same command that is executed inside JSP) file through command prompt and it works fine. We can execute the command multiple times from multiple windows without any issue.

 

 

On review of log file I found that when we execute the JOB from JSP, we get following error:

 

10:28:03,234 ERROR [KarafLifecycleListener] The Kettle Karaf Lifecycle Listener failed to execute properly after waiting for 100 seconds. Releasing lifecycle hold, but some services may be unavailable.

 

I have attached both the log files for your reference.

 

 

I am using PDI 8.1.0.0 on Windows 2012 Server R2 with Java1.8. Let me know if you need any other information?

 

 

I'll really appreciate any help in the matter.

Outcomes