2 Replies Latest reply on May 19, 2005 10:41 PM by genman

    Queues as a storage mechanism

    chassler

      We are building an application that uses web services and JMS to provide an asynchronous access to data. The model we are contemplating is that an incoming request will generate a request id and place the request onto a queue. The request id will then be returned to the client. At a later time, the client can call a different web service to obtain the requested data. We are thinking of simply placing our results onto an output queue, which is persisted to an Oracle database, and when the request for results comes in, generating a QueueReader with a selector based on the request id. Requests for the results can conceivably arrive several days after the original request. So, given that, here are our questions:

      1. Does this approach potentially place undue stress on the queue?
      2. What are the implications of potentially large messages staying on the queue for extended periods of time?
      3. How best can we clean up stale messages?
      4. Are there any other concerns posed by this approach?
      5. Have you heard of anybody else using JMS in this fashion, and if so, how did it work?

      --Chris