qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rajith Attapattu <rajit...@gmail.com>
Subject Re: Setting BytesMessage content type
Date Fri, 22 Jul 2011 15:30:44 GMT
Sorry for the late reply. I did notice this a few days ago when
debugging for an unrelated issue.
However reading the JMS API doc, it seems the 'type' has a different
meaning than merely content-type.
In other words a particular type of message could support several content-types.
For example "text/plain", "text/html" and "text/xml" could be valid
content-types  for a particular message "type".

Therefore I believe we should do the following.
1) If an application sets a value using setJMSType, then we carry it
using "x-jms-type" and allow it be retrieve on the consumer side using
getJMSType (if the consumer is a jms application).

2) Use "x-amqp-0-10.content-type" to get/set the content type.
    Since content type is really not tied to particular AMQP version
we could use "x-amqp.content-type" instead. This gives a clear
indication that the content type will be set in the underlying AMQP
message.

Regards,

Rajith

On Thu, Jul 21, 2011 at 4:33 PM, Matt Stevenson
<matt.r.stevenson@gmail.com> wrote:
> The "x-jms-type" header looks like some sort of placeholder.  I couldn't
> find it in the specs or used by other projects.
> This can easily be fixed by having get/setJMSType(..) call
> get/setContentType(..) in AMQMessageDelegate_0_10.java.
>
> Should I submit a patch?
>
> On Thu, Jul 21, 2011 at 12:32 PM, Gordon Sim <gsim@redhat.com> wrote:
>
>> On 07/21/2011 08:48 AM, Matt Stevenson wrote:
>>
>>> Hi,
>>>
>>> I'm sending a BytesMessage from Java to C++ and I ran into a little
>>> trouble
>>> with content type.
>>> In my Java client code I am using a javax.jms.BytesMessage from the
>>> geronimo-jms_1.1 library.
>>> The BytesMessage only has methods for get/setJMSType( ), and not
>>> get/setContentType( ).
>>> If I set the JMSType in Java, it does not change the contentType in C++.
>>>
>>> I can work around this by casting the BytesMessage to a qpid
>>> JMSBytesMessage.  Then I can use setContentType( ), which shows up on on
>>> the
>>> C++ side.
>>>
>>>  From the documentation I was expecting setJMSType to set the contentType.
>>>>
>>> Looking at the code, it sets the "x-jms-type" message header.
>>>
>>> Should setJMSType actually set the contentType?
>>>
>>
>> That does sound reasonable to me.
>>
>> ------------------------------**------------------------------**---------
>> Apache Qpid - AMQP Messaging Implementation
>> Project:      http://qpid.apache.org
>> Use/Interact: mailto:users-subscribe@qpid.**apache.org<users-subscribe@qpid.apache.org>
>>
>>
>
>
> --
> Matt Stevenson.
>

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org


Mime
View raw message