You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Tomas Restrepo (JIRA)" <qp...@incubator.apache.org> on 2007/05/15 03:33:16 UTC

[jira] Updated: (QPID-452) Improve Message Classes and Message Creation APIs

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

Tomas Restrepo updated QPID-452:
--------------------------------

    Attachment: QPID-452.diff

Patch improves message creation API. Covers points 1 and 3 and fixes a number of problems in the public APIs.

(4) is not implemented, but still possible to do if casting to AbstractQmsMessage.
(2) Is not possible without large refactoring to decouple message factories from returning AbstractQmsMessage instance instead of IMessage, so left for a further refactoring. However, having the other functionality in the patch is enough to make it usable as is.


> Improve Message Classes and Message Creation APIs
> -------------------------------------------------
>
>                 Key: QPID-452
>                 URL: https://issues.apache.org/jira/browse/QPID-452
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Dot Net Client
>    Affects Versions: M2
>            Reporter: Tomas Restrepo
>            Priority: Minor
>         Attachments: QPID-452.diff
>
>
> Improve the message classes in Qpid and the associated message creation APIs to enable useful use cases:
> 1- Create a new overload of the CreateMessage() to the AMQSession/AmqChannel classes that takes the MIME type of the message to create. It would simply pass that value to the underlying message factory registry to create an instance of the proper message class.
> 2- Add a new method to the Session/IChannel interfaces (and corresponding
> implementations) to register a new message factory to a new MIME type (maybe add one to unregister a factory as well?)
> 3- Preserve the MIME type used to create the message through the message factory registry. Right now, the mime type requested is passed to the registry which uses the associated factory. However, the mime type requestes is not passed on to the factory and instead each message class initializes the MimeType property to a default value. So, for example, if you create a message with the type "text/xml", the resulting message object will still return "text/plain" from getMimeType()
> 4- Give all message classes (or at least the basics) the ability to read or replace the underlying byte buffer representing the body of the message through methods in Message/IMesssage or friends.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.