[ 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