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

Claus Ibsen commented on CAMEL-6820:
------------------------------------

[~sully6768] its maybe better to do like camel-jms and be able to accept File / 
WrappedFile and other types are bytes messages. 

In fact you can likely copy this method for the sjms component so they support 
the same:

https://github.com/apache/camel/blob/master/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsBinding.java#L504

> Improve SJMS handling of exchange body data types
> -------------------------------------------------
>
>                 Key: CAMEL-6820
>                 URL: https://issues.apache.org/jira/browse/CAMEL-6820
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-sjms
>    Affects Versions: 2.12.1
>            Reporter: Nigel Longton
>            Assignee: Scott England-Sullivan
>             Fix For: 2.12.4, 2.13.1
>
>
> With a route as below 
>    from("file:fname.txt").to("sjms:queue:qname") 
> we get an error because the Jms message type is of type Message. 
> The issue seems to be in JmsMessageHelper.discoverMessageTypeFromPayload. 
> GenericFile is the payload object which is not serializable itself. sjms has 
> this line: 
> else if (Serializable.class.isInstance(payload)) { 
>                 answer = JmsMessageType.Object; 
> JMS component has this code in the JmsBinding class 
> case Object: 
>             ObjectMessage message = session.createObjectMessage(); 
>             if (body != null) { 
>                 try { 
>                     Serializable payload = 
> context.getTypeConverter().mandatoryConvertTo(Serializable.class, exchange, 
> body); 
>                     message.setObject(payload); 



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to