You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Scott England-Sullivan (JIRA)" <ji...@apache.org> on 2014/03/17 23:08:43 UTC
[jira] [Resolved] (CAMEL-6820) Improve SJMS handling of exchange
body data types
[ https://issues.apache.org/jira/browse/CAMEL-6820?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Scott England-Sullivan resolved CAMEL-6820.
-------------------------------------------
Resolution: Fixed
Added enhancements for ByteMessage support that will convert InputStream producer messages to a JMS ByteMessage.
> 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)