Thanks guys for your replies so far,

I did some logging about the IOException, and here's the message:

"[Microsoft][SQLServer 2000 Driver for JDBC]Object has been closed"

The IOException occurs when Serialize -method is trying to read the inputstream is. Does this give you any ideas?

Why doesn't this happen with Cocoon 2.1.5???

public void serialize(Response response)
    throws IOException, SQLException {
        if (this.resource == null) {
            throw new SQLException("The Blob is empty!");
        }

        InputStream is = new BufferedInputStream(this.resource);

        long expires = parameters.getParameterAsInteger("expires", -1);

        if (expires > 0) {
response.setDateHeader("Expires", System.currentTimeMillis() + expires);
        }

        response.setHeader("Accept-Ranges", "bytes");

        byte[] buffer = new byte[8192];
        int length = -1;

        while ((length = is.read(buffer)) > -1) {
                         ^^^^^^^^^^^^^^^
            out.write(buffer, 0, length);
        }
        is.close();
        out.flush();
    }

Should this be continued on dev-list only?

-Tuomo

On Sun, 17 Jul 2005, Joerg Heinicke wrote:

On 17.07.2005 00:36, Tuomo L wrote:
Thanks, I tested the sample, and it does work with HSQLDB. But when I tested it against SQL Server with similar results I got before: Upload works but reading the file with DatabaseReader returns 0 bytes. :(

So, my guess is, something has changed between 2.1.5 and 2.1.7 that makes
the JDBC driver for SQL Server incompatible with Cocoon. With the jar-files from 2.1.5 (same setup otherwise) this works. What could this change be?

The method that throws this error "Assuming client reset stream" in DatabaseReader.java is:

public void generate() throws ProcessingException, SAXException, IOException {
        try {
            Response response = ObjectModelHelper.getResponse(objectModel);
            this.serialize(response);
        } catch (IOException ioe) {
            getLogger().warn("Assuming client reset stream");

Try to log the IOException or do some remote debugging to find out the reason.

Joerg

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Reply via email to