[ https://issues.apache.org/activemq/browse/AMQ-943?page=all ]

Brian McCallister reassigned AMQ-943:
-------------------------------------

    Assignee: Brian McCallister

> Pluggable Stomp Message Mapping
> -------------------------------
>
>                 Key: AMQ-943
>                 URL: https://issues.apache.org/activemq/browse/AMQ-943
>             Project: ActiveMQ
>          Issue Type: Improvement
>          Components: Transport
>    Affects Versions: 4.1
>            Reporter: Dejan Bosanac
>         Assigned To: Brian McCallister
>             Fix For: 4.1
>
>         Attachments: protocol-mapping.patch
>
>
> I have finally found time to finish this. Here's the draft version of the 
> Pluggable Stomp Message Mapping implementation.
> Few notes:
> - New interface has been defined: ProtocolMapping (I wanted to use the same 
> name as the message header that we check)
> - There are two implementations of this interface: DefaultProtocolMapping and 
> ByteProtocolMapping
> - I used FactoryFinder to create appropriate mapper. The finder use the 
> following path to find keys: 
> META-INF/services/org/apache/activemq/transport/mapping/ (we can change this 
> if you want)
> - The appropriate mapper is used according to the "protocol-mapping" header 
> in the CONNECT message. For example protocol-mapping:byte for 
> ByteProtocolMapping handler.
> - Currently I have implemented only the mapper for BytesMessage since I 
> wasn't sure whether you want to integrate JSON mapper for MapMessages or 
> distribute it in a separate library.
> - I have changed the test case that tests subscription for byte messages
> - This solution is not compatible with current mapping for byte messages. If 
> you want backward compatibility, I can hard-code it in a ProtocolConverter 
> class (as it was) since it could not be implemented through this mechanism.
> TODO:
> - test it more (create more unit test cases and test it more in a real 
> environment)
> - create a proper documentation so others can create their handlers.
> - create a proper JavaDoc documentation for key interfaces and classes
> - create JSON mapper (integrated or external)
> - fix STOMP client(s)
> Give it a try and let me know your impressions
> Dejan Bosanac 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to