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:21:00 UTC

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

     [ https://issues.apache.org/jira/browse/PROTON-2299?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Hemant Tanwar updated PROTON-2299:
----------------------------------
    Description: 
 

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.

If there is an appetite for this feature, we can have community members, provide PR for the implementation and finally it becomes part of proton-j library.

 

Appreciate your response.

Thank,
 Hemant

  was:
 

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


> 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: Major
>              Labels: feature-request, qpid
>
>  
> 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.
> If there is an appetite for this feature, we can have 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: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org