cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tuomo L <tleso...@cc.hut.fi>
Subject Re: DatabaseReader problem with 2.1.7, help needed
Date Sun, 17 Jul 2005 11:42:48 GMT
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: users-unsubscribe@cocoon.apache.org
> For additional commands, e-mail: users-help@cocoon.apache.org
>
>

Mime
View raw message