You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Keith Wall (JIRA)" <ji...@apache.org> on 2016/09/22 15:50:20 UTC

[jira] [Commented] (QPID-7366) [Java Broker] Add Management operation to VirtualHost to allow publishing of messages through management

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

Keith Wall commented on QPID-7366:
----------------------------------

Currently, the new feature allows me to inject a message containing a header with an empty key into the system.  If the such a message is converted for a 0-8 client, the Broker fails with the following exception.  In 0-10 the same message fails on the client side on receipt.

In AMQP 0-9 the headers are transported as a field table.  Of field tables, the spec says (4.2.5.5) says that "Field names MUST start with a letter, '$' or '#' and may continue with letters, '$' or '#', digits, or underlines, to a maximum length of 128 characters.".  So this implies that message header names cannot be empty.  In AMQP 0-10, the spec doesn't impose the same restriction - it uses a 0-10 map for the application headers with str8 as keys.  There is no restriction disallowing empty keys.

As JMS disallows empty message property names. I suggest that {{publishMessage}} imposes the same restriction.    




{noformat}
2016-09-22 16:25:06,779         ERROR [IO-/127.0.0.1:52202] o.a.q.t.u.InternalBrokerHolder Uncaught exception from thread IO-/127.0.0.1:52202
java.lang.IllegalArgumentException: Property name must not be the empty string
        at org.apache.qpid.framing.FieldTable.checkPropertyName(FieldTable.java:778) ~[classes/:na]
        at org.apache.qpid.framing.FieldTable.setProperty(FieldTable.java:140) ~[classes/:na]
        at org.apache.qpid.framing.FieldTable.setString(FieldTable.java:558) ~[classes/:na]
        at org.apache.qpid.framing.FieldTable.setObject(FieldTable.java:692) ~[classes/:na]
        at org.apache.qpid.framing.FieldTable.put(FieldTable.java:1044) ~[classes/:na]
        at org.apache.qpid.framing.FieldTable.convertToFieldTable(FieldTable.java:1210) ~[classes/:na]
        at org.apache.qpid.server.protocol.v0_8.MessageConverter_Internal_to_v0_8.convertMetaData(MessageConverter_Internal_to_v0_8.java:148) ~[classes/:na]
        at org.apache.qpid.server.protocol.v0_8.MessageConverter_Internal_to_v0_8.convertToStoredMessage(MessageConverter_Internal_to_v0_8.java:75) ~[classes/:na]
        at org.apache.qpid.server.protocol.v0_8.MessageConverter_Internal_to_v0_8.convert(MessageConverter_Internal_to_v0_8.java:69) ~[classes/:na]
        at org.apache.qpid.server.protocol.v0_8.MessageConverter_Internal_to_v0_8.convert(MessageConverter_Internal_to_v0_8.java:48) ~[classes/:na]
        at org.apache.qpid.server.protocol.v0_8.ProtocolOutputConverterImpl.convertToAMQMessage(ProtocolOutputConverterImpl.java:83) ~[classes/:na]
        at org.apache.qpid.server.protocol.v0_8.ProtocolOutputConverterImpl.writeDeliver(ProtocolOutputConverterImpl.java:69) ~[classes/:na]
{noformat}

> [Java Broker] Add Management operation to VirtualHost to allow publishing of messages through management
> --------------------------------------------------------------------------------------------------------
>
>                 Key: QPID-7366
>                 URL: https://issues.apache.org/jira/browse/QPID-7366
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Broker
>            Reporter: Rob Godfrey
>            Assignee: Keith Wall
>             Fix For: qpid-java-6.1
>
>
> Sometimes it is useful to be able to publish messages into the broker without requiring an AMQP client.  For this we can add a management operation to allow for the publishing of messages over HTTP.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org