Here's a somewhat primitive solution, relying on databases: http://www.jroller.com/gmazza/entry/creating_service_side_asynchronous_web
Glen On Sun, 2008-07-13 at 21:47 -0700, Dan Retzlaff wrote: > I have a web service that accepts and queues commands for a legacy > application. The legacy application can take several minutes to complete. Is > there a best practice for the threading model of my go-between service? > > The easiest implementation invokes the legacy application synchronously, > hanging my service thread until the legacy app completes. That doesn't seem > efficient, but with my JAX-WS-based service interfaces for two-way requests, > it looks like my hands are tied: I can't leave the implementing function (to > free the thread for more useful things) until I have my client's response. > Am I missing something? Is there no graceful way to defer the response? > > I looked at InterceptorChain.pause() and InterceptorChain.resume() which > come close to what I need, if I understand them correctly. But the point I > want to pause is in the middle of my business logic, not an interceptor > chain. > > Dan
