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.