Mantis - Resin
Viewing Issue Advanced Details
4994 minor always 03-21-12 11:48 07-24-12 15:13
ferg  
ferg  
normal  
closed 4.0.27  
fixed  
none    
none 4.0.30  
0004994: AsyncQueue can become stuck
(rep by Yen-Fen Hsu)


We are using Resin 4.0.24 with lots of CDI.

 

We have a web app that invokes an asynchronous method (annotated with @Asynchronous) for every incoming request. The method performs multiple DB lookups and insert or update multiple tables. We are seeing under heavy load the asynch method gets stuck sometimes. Breaking up the operations into 2 asynch methods does not help either.

 

Could you explain the underlying implementation of the AsychQueue and @Asychronous?

How many AsynchQueue is there? Does it grow/shrink based on the load?

Is there a queue for each AsynchQueue? What happen when there is a spike invoking the same aynch method?

Is @Asychronous suitable for resource-light/fast operations only? Should applications build their own queue to back up the aynch method?

There are no notes attached to this issue.