[ 
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]

Reply via email to