My Photo

Become a Fan

DailyMile

Google Ad Skyscraper

« Cheaper HA with Linux DRDB and WebSphere | Main | Oracle buys JBoss, then what happens to Hibernate? »

January 21, 2006

Comments

Scott Carlson

You mention starting an "async bean thread". Isn't this a violation of the spec? Or is there something with WAS that allows this to be done with a resource adapter allowing the container to manage it?

Billy

WebSphere allows application threading through the use of async beans/WorkManager APIs. The resource adapter threading isn't really suitable for application use. The WorkManager APIs are currently being standardized by JSR 236/237.

Varadaraj.M

Hi Sir,

My name is Varadaraj working as J2EE Developer.I wanted some Parameter List for IBM WAS 6.0 to tune the web application so that it increases the response time and application becomes faster to response.

Regards,
Varadaraj.M

Andrew Ward

Billy

Yup - clients should not wait on long running requests. They should submit a request and receive some form of ticket (your UUID). Clients can then be notified of completion via some sort of push technology. I would not recommend increasing timeouts as its a road to trouble!

Andrew

Jeffrey Smith

Billy,

I'd like to clarify the following statements: “…The EJB method would pick a UUID for the results, start an async bean thread for the long running task. The ejb method then returns the UUID to the client in the response.”

Does it mean that the EJB method will start async bean thread and will not wait for its completion?

Let’s assume that this is true and the EJB method will start async bean thread and will not wait for its completion.

It is OK from the spec point of view, for example, in JSR 237 “…Short-lived Works may exceed the life of the submitting request method…”.

However, is it a good practice to follow?

We may have the following potential issues in case when the EJB method will not wait for completion of async beans threads:

• One of the problems is that you do not know if your task, which was running on async bean thread, completed successfully or failed.

• WM thread pool should not be growable, because otherwise it could exhaust threads in the OS.

• I believe that Tivoli does not provide with stats for WM thread pool usage. It means it could be difficult to detect if we have kind of “run away” processes that were initiated by the EJB method.

The comments to this entry are closed.