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.