camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Willem Jiang <willem.ji...@gmail.com>
Subject Re: camel-cache: Using Objects for cache
Date Wed, 06 Jan 2010 02:44:38 GMT
I think we can support the InputStream and Serializable object at the 
same time :)
If the Message body is Serializable, we can skip the InputStream part, 
if it's not, we can try to turn it into an InputStream.

Any thought?

BTW, any kind of contribution is welcome, so please feel free to submit 
the patch with a JIRA[1].

[1] http://issues.apache.org/activemq/browse/CAMEL

Willem


tide08 wrote:
> I am using camel 2.1.0 cache component, and I am confused how I can use
> custom objects with cache?
> 
> It seems to me that for every object I would want to use, I will have to
> register TypeConverter for those classes? Is that assumption correct? 
> 
> I think it is due to following code in CacheProducer.java, which tries to
> convert payload into InputStream?
> 
> InputStream is =
> exchange.getContext().getTypeConverter().convertTo(InputStream.class, body);
>         
>         // Read InputStream into a byte[] buffer
>         byte[] buffer = new byte[is.available()];
>         int n = is.available();
>         for (int j = 0; j < n; j++) {
>             buffer[j] = (byte)is.read();
>         }        
> 
> Looking at EHCache API, it can support any object as long as it is
> serializable, so camel-cache component should not try to convert payload
> into InputStream. Or was there any specific reason to do so?
> 
> I quickly modified Producer and it seems to work fine, please let me know
> and I would be happy to provide the patch.
> 
> Thanks!


Mime
View raw message