[S2] ClientAbortException in StreamResult

View: New views
1 Messages — Rating Filter:   Alert me  

[S2] ClientAbortException in StreamResult

by Pro1712 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello!

I've got a Action to download documents stored in a BLOB ind an oracle-db:
<action name="DownloadDocumentAction" method="downloadDocument" class="com.foo.FileAction">
        <result type="stream">
                inputStream
        </result>
</action>

public String downloadDocument()
{
        inputStream_ = downloadFromDB(...);
        return success;
}

public InputStream getInputStream()
{
        return inputStream_;
}


This works as ecpected when donwloading with one thread.

When I use a download manager like "DownThemAll" in FF using more than one thread, I get a ClientAbortException in StreamResult when the document is written to the response-output. (File StreamResult.java line 265).
The first thread is processed correctly but all subsequent threads get the exception.

Why do I get this exception?
Every thread calls the action, gets the file from the database and then the file is written to to output.

By the way:
Is it possible to cache the file?
It's not very clever to get the file from the database for every thread...

Thanks for your help!