You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Hemant Tanwar (Jira)" <ji...@apache.org> on 2020/11/11 23:17:00 UTC

[jira] [Created] (PROTON-2299) Support multiple data sections in amqpMessage

Hemant Tanwar created PROTON-2299:
-------------------------------------

             Summary: Support multiple data sections in amqpMessage
                 Key: PROTON-2299
                 URL: https://issues.apache.org/jira/browse/PROTON-2299
             Project: Qpid Proton
          Issue Type: Improvement
          Components: proton-j
    Affects Versions: proton-j-0.33.7
            Reporter: Hemant Tanwar


 

This is a request for new feature to provide implementation to support multiple Data sections.

Current implementation looks like this

Message amqpMessage = Proton.message();
 amqpMessage.setBody(new Data(new Binary(“my data”.getBytes())));


This does not allow to add multiple Data sections.

The AMQP specification require to support "one or more data sections, one or more amqp-sequence sections. Specification " http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#section-message-format


I have looked into various threads which suggest users of qpid to implement their own version of MessageImpl/ Encoders and decoders to achieve this functionality.
Here are previous discussions.
Previous pull request by community: https://github.com/apache/qpid-proton/pull/54
Discussion on developer forum http://qpid.2158936.n2.nabble.com/Re-Amqp-Spec-multiple-byte-is-not-supported-for-DATA-td7695225.html

This will duplicate effort by many users of qpid, for a feature which is in AMQP specification.

Can we request this feature to be supported in qpid by providing an implementation for it ?

The API for this could be designed to what it make sense, here is one suggestion

Message amqpMessage = Proton.message();

amqpMessage.setMultipleBody(Iterable<Section> multipleData);
or 
amqpMessage.setMultipleBody(List<Section> multipleData);

And for getting multiple sections ..

Iterable<Section> amqpMessage.getMultipleBody();
or 
List<Section> amqpMessage.getMultipleBody();

Or provide a different implementation of MessageImpl which support this feature.

This feature will help community a lot, so they do not have to maintain on the wire amqp protocol details in their code base. For example implementing encoders and decoders.
Since it is being asked few times, it is something community would benefits from, more ever it is part of AMQP spec.

Appreciate your response.

Thank,
Hemant



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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