You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Arnaud Simon (JIRA)" <qp...@incubator.apache.org> on 2008/06/05 13:19:45 UTC

[jira] Commented: (QPID-1118) [Java Client] JMS Destination Type no longer being set, but still relied upon for Message Creation

    [ https://issues.apache.org/jira/browse/QPID-1118?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12602618#action_12602618 ] 

Arnaud Simon commented on QPID-1118:
------------------------------------

It appears that the JMS destination type is set in BasicMessageConsumer:
 void postDeliver(AbstractJMSMessage msg) throws JMSException
    {
        msg.setJMSDestination(_destination);
  .....

Unless the broker requires the type to be set we should be able to leave without setting the type. 

> [Java Client] JMS Destination Type no longer being set, but still relied upon for Message Creation
> --------------------------------------------------------------------------------------------------
>
>                 Key: QPID-1118
>                 URL: https://issues.apache.org/jira/browse/QPID-1118
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Client
>    Affects Versions: M3
>            Reporter: Rob Godfrey
>             Fix For: M3
>
>
> In the M2.x client the destination type (Queue/Topic/Other) is set as a property on the message so that the JMSDestination can be correctly recreated by the receiver of the message.
> AbstractJMSMessage still seems to rely on this property to be created correctly:
>     protected AbstractJMSMessage(long deliveryTag, BasicContentHeaderProperties contentHeader, AMQShortString exchange,
>         AMQShortString routingKey, ByteBuffer data) throws AMQException
>     {
>         this(contentHeader, deliveryTag);
>         Integer type = contentHeader.getHeaders().getInteger(CustomJMSXProperty.JMS_QPID_DESTTYPE.getShortStringName());
>         AMQDestination dest;
>         if (AMQDestination.QUEUE_TYPE.equals(type))
>         {
>             dest = new AMQQueue(exchange, routingKey, routingKey);
>         }
>         else if (AMQDestination.TOPIC_TYPE.equals(type))
>         {
>             dest = new AMQTopic(exchange, routingKey, null);
>         }
>         else
>         {
>             dest = new AMQUndefinedDestination(exchange, routingKey, null);
>         }
>         // Destination dest = AMQDestination.createDestination(url);
>         setJMSDestination(dest);
> however the code which sets the destination type no longer seems to be present in the send implementation.

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