dev@jsr311.java.net

Re: JSR311: Problem with StreamedOutput model

From: Marc Hadley <Marc.Hadley_at_Sun.COM>
Date: Thu, 13 Mar 2008 11:23:14 -0400

On Mar 12, 2008, at 7:56 PM, Bill Burke wrote:

> Ok, I believe there is a problem with the streamed output model.
> Let's go back to the Ajax Polling usecase where the client does a
> GET and waits and waits and waits for a response. What if we want
> to allow the client to specify a timeout? The StreamedOutput
> interface requires a commit of the status and headers, correct? So,
> in our background asynch writes, there would be no way to timeout
> and send back the appropriate HTTP Response code.
>
> Are you following me?
>
> I guess a solution to this would be to not commit until something is
> written to the OutputStream and allow a WebApplicationException to
> be thrown. The same is already done for MessageBodyWriter's correct?
>
Correct.

So a MessageBodyWriter or a StreamedOutput could throw a
WebApplicationException before writing to the stream and that would
cause the HTTP response status to be set and normal exception handling
to take over. Sounds reasonable to me - we have an issue to sort out
exception handling, i'll be focussing on that once we get the current
batch of issues resolved.

Marc.

---
Marc Hadley <marc.hadley at sun.com>
CTO Office, Sun Microsystems.