tabish121 commented on a change in pull request #2695: ARTEMIS-2372 Filtering
on Message Annotations
URL: https://github.com/apache/activemq-artemis/pull/2695#discussion_r290927630
##########
File path:
artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/broker/AMQPMessage.java
##########
@@ -1263,7 +1263,10 @@ public Long getLongProperty(String key) throws
ActiveMQPropertyConversionExcepti
@Override
public Object getObjectProperty(String key) {
- if (key.equals(MessageUtil.TYPE_HEADER_NAME.toString())) {
+
+ if
(key.startsWith(AMQPMessageSupport.JMS_AMQP_MESSAGE_ANNOTATION_PREFIX)) {
Review comment:
This doesn't seem right at all, as the specification reserves all
Annotations Symbol and UnsignedLong keys for its own use but the broker seems
to be populating annotations that violate that. Any client or other
intermediary would be within its rights (technically required) to close the
connection upon receiving a message with these broker specific message
annotations as per the spec:
←
3.2.10 Annotations - The annotations type is a map where the keys are
restricted to be of type symbol or of type ulong. All ulong keys, and all
symbolic keys except those beginning with "x-" are reserved. Keys beginning
with "x-opt-" MUST be ignored if not understood. On receiving an annotation key
which is not understood, and which does not begin with "x-opt", the receiving
AMQP container MUST detach the link with a not-implemented error.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services