Service Execution Time


I am trying to execute a WM Service from a Java client in a threaded environment. I span out three threads to execute three serivces.

Say I span a thread each for Service A, Serivice B and Service C in a loop . I use context.invoke(folderName, serviceName, pipeline);

I find that everytime, the third service takes considerably longer time to execute irrespective of the order of A,B orC .

Also, if I call the same service, say A thrice in a loop, the third run takes almost thrice the first two.

Could you please help me out

Are you emptying the pipeline, calling System.gc, etc, at the close of each service?

Are any of the threads interdependent, i.e. is your last thread waiting on a locked object?

Perhaps consider using Service.doThreadInvoke( … ) instead; it seems to be pretty effective?


Invoking a WM Service from a flow service takes less time when compared toinvoking the same WM Service from within a java class using Context.invoke?

Will Service.doThreadInvoke() or Service.doInvoke() help in reducing the service execution time