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

Timothy Bish closed AMQ-3155.
-----------------------------

    Resolution: Won't Fix
      Assignee: Timothy Bish

The code is working as designed, you should create the topic using 
"/topic/subject.hello" if you want the behaviour you have described.

> Bad conversion from stomp topic to activeMQ topic
> -------------------------------------------------
>
>                 Key: AMQ-3155
>                 URL: https://issues.apache.org/jira/browse/AMQ-3155
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Connector
>    Affects Versions: 5.4.2
>         Environment: Win7 64bits, jre 1.6.0_23
>            Reporter: Michael Barroco
>            Assignee: Timothy Bish
>   Original Estimate: 0.5h
>  Remaining Estimate: 0.5h
>
> From several days, I'm working on the authentication and authorization topics 
> for a stomp process. I identified a strange behavior. The topics with sub 
> destinations (ie: /topic/subject/hello ) didn't seemed to be handled by a 
> virtual topic rule (ie: sub1.> ).
> It seems that the stomp topic is not properly converted by when it is handled 
> by ActiveMQ and the topic ( /topic/subject/hello ) is considered as 
> "topic://subject/hello" and not as "topic://subject.hello"
> So i implemented an authorization broker to correct it:
> <i>
> public class MyAuthorizationBroker extends AuthorizationBroker {
>       public MyAuthorizationBroker(Broker next,
>                       AuthorizationMap authorizationMap) {
>               super(next, authorizationMap);
>       }
>       
>       
>     public void send(ProducerBrokerExchange producerExchange, Message 
> messageSend) throws Exception {
>       ActiveMQDestination dest = 
> correctStompTopic(messageSend.getDestination());
>       messageSend.setDestination(dest);
>         super.send(producerExchange, messageSend);
>     }
>     public Subscription addConsumer(ConnectionContext context, ConsumerInfo 
> info) throws Exception{
>       ActiveMQDestination dest = correctStompTopic(info.getDestination());
>       info.setDestination(dest);
>       return super.addConsumer(context, info);
>     }
>     public ActiveMQDestination correctStompTopic(ActiveMQDestination 
> destination){
>       String aqdest = destination.getPhysicalName().replace('/', '.');
>       destination.setPhysicalName(aqdest);
>       return destination;
>     }
> }
> </i>
> I hope it could be interesting.
> Best regards
> michael

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to