camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Claus Ibsen (JIRA)" <j...@apache.org>
Subject [jira] Commented: (CAMEL-3120) hawtdb - Should wrap caused exception in wrapped IOException
Date Tue, 14 Sep 2010 09:32:42 GMT

    [ https://issues.apache.org/activemq/browse/CAMEL-3120?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=61808#action_61808
] 

Claus Ibsen commented on CAMEL-3120:
------------------------------------

Also hawtdb may have to change how it loads the class. See for example from AMQ:
http://svn.apache.org/repos/asf/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/util/ClassLoadingAwareObjectInputStream.java

> hawtdb - Should wrap caused exception in wrapped IOException
> ------------------------------------------------------------
>
>                 Key: CAMEL-3120
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-3120
>             Project: Apache Camel
>          Issue Type: Improvement
>    Affects Versions: 2.4.0
>            Reporter: Claus Ibsen
>            Assignee: Hiram Chirino
>            Priority: Minor
>             Fix For: 2.6.0
>
>
> The {{decode}} method in {{ObjectCodec}} should wrap the causes stacktrace in the wrapped
IOException.
> For example OSGi frameworks may be pesky and we want to be able to see whatever stacktrace
it may thrown on you.
> {code}
>     public T decode(DataInput dataIn) throws IOException {
>         int size = dataIn.readInt();
>         byte[] data = new byte[size];
>         dataIn.readFully(data);
>         ByteArrayInputStream bytesIn = new ByteArrayInputStream(data);
>         ObjectInputStream objectIn = new ObjectInputStream(bytesIn);
>         try {
>             return (T) objectIn.readObject();
>         } catch (ClassNotFoundException e) {
>             throw new IOException(e.getMessage());
>         }
>     }
> {code}
> For being JDK 1.5 compatible you need to do it like
> {code}
>     public static IOException createIOException(String message, Throwable cause) {
>         IOException answer = new IOException(message);
>         answer.initCause(cause);
>         return answer;
>     }
> {code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message