Dear All,
We have a DI Job as a Web Service that calls several sub-jobs one after another.
The nature of a Web Service is its asynchronism and the Web Service client can start
any amount of web service requests one after another with the fatal consequences that
endless DI-Job-Threads come into being. Through this we get a problem with the database
connections:
java.sql.SQLException
RA-01000: maximum open cursors exceeded
There are two choices to overcome this issue:
First we limit the threads of DI Jobs, but how can one web service request
make dormant and start again as soon as the number of running threads is
less than the maximum permitted threads.
Second all threads have access to a database connection pool.
I'd be very appreciated for any hints and help.
Kind regards
Hilderich
Hello sanvaibhav, Thanks for your reply. In each (sub)job that cares for the database we use a tJDBCConnection and have the option activated for using a shared connection, that is an already existing connection or create a new one with a special name. There is no auto commit enabled, instead we use the component tCommit and there is the option disabled to close the connection afterwards. The parent job that includes the web service itself has no tJDBCConnection component and therefore it is not possible to close the connection after all other stuff has finished. Kind regards Hilderich
Hi,
What the build version are you using? Talend Open Source or Enterprise Subscription Version? Would you mind sharing your current job design screenshot into forum?
Best regards
Sabrina
Hi Helderich, Following is something unexpected, something is wrong at some place or bug... >>> There is no auto commit enabled, instead we use the component tCommit and there is the option disabled to close the connection afterwards. Thanks Vaibhav
Hello All,
Now we follow another approach. We have removed the response from the beginning of the job and
instead give a response only when all stuff is done. But this isn't simple as it sounds because now
we have another problem with that approach. tLogCatcher in conjunction with tESBProviderFault
does not work:
https://community.talend.com/t5/Design-and-Development/tESBProviderFault-inside-tLogCatcher-doesn-t-... Kind Regards
Hilderich