[
https://issues.apache.org/jira/browse/PROTON-2299?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17347086#comment-17347086
]
Hemant Tanwar commented on PROTON-2299:
---------------------------------------
Hello @tabish121 ,
Thanks for the PR and I realize that it is closed already. Based on this
documentation "The body consists of one of the following three choices: one or
more
[data|http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-data]
sections, one or more
[amqp-sequence|http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-amqp-sequence]
sections, or a single
[amqp-value|http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-amqp-value]
section."
[OASIS Advanced Message Queuing Protocol (AMQP) Version 1.0, Part 3: Messaging
(oasis-open.org)|http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#section-message-format]
Does something like this align with AMQP Spec
final class BodySections implements Section{
void setSections(List<Section> multipleData);
List<Section> getSections();
}
// The type 'BodySections' could be added in enum type `SectionType`
Message amqpMessage = Proton.message();
public void amqpMessage.setBodySections(BodySections payload);
public BodySections amqpMessage.getBodySections();
> 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
> Priority: Minor
> Labels: feature-request, qpid
>
>
> This is a request for new feature to provide implementation to support
> multiple Data sections.
> Current usage of single Data section 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 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.
> If there is an appetite for this feature, I or any community members provide
> PR for the implementation and finally it becomes part of proton-j library.
>
> Appreciate your response.
> Thank,
> Hemant
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]