You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by barroco <ba...@ebu.ch> on 2011/01/25 08:13:46 UTC

Stomp Topic

Hello,

>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 in some cases (maybe
NOT ALL):

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;
    }
}


For my project, it seems to work, I hope this could be helpfull and I'm very
interested if somebody find a best way to do it.

Best regards

michael

PS: I created a new issue
-- 
View this message in context: http://activemq.2283324.n4.nabble.com/Stomp-Topic-tp3235572p3235572.html
Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.

Re: Stomp Topic

Posted by Dejan Bosanac <de...@nighttale.net>.
Thanks for reporting this. Maybe a more general plugin that just converts
JMS like destination names (FOO.BAR) to more Stomp-like ones (FOO/BAR) is
the way to go. After that, the regular authorization plugin should work
fine. It's great that RadioVIS protocol is using Stomp BTW.


Regards
-- 
Dejan Bosanac
-----------------
FuseSource - The experts in open source integration and messaging.
Email: dejanb@fusesource.com
Web: http://fusesource.com
Twitter:  http://twitter.com/dejanb
ActiveMQ in Action - http://www.manning.com/snyder/
Blog - http://www.nighttale.net


On Tue, Jan 25, 2011 at 11:14 AM, barroco <ba...@ebu.ch> wrote:

>
> Oups,
>
> In fact, it's in RadioVis specification (cf
> http://radiodns.org/wp-content/uploads/2009/12/RVIS01_1.0.0.pdf) which use
> STOMP.
>
> Maybe it will help somebody working on it.
>
> Thanks for your time
>
> Best regards
>
> Michael
>
>
>
>
> ________________________________________
> From: Dejan Bosanac [via ActiveMQ] [
> ml-node+3235758-984965199-209399@n4.nabble.com<ml...@n4.nabble.com>
> ]
> Sent: Tuesday, January 25, 2011 10:35 AM
> To: Barroco, Michael
> Subject: Re: Stomp Topic
>
> Hi,
>
> semantics of the destination names is not defined by the Stomp
> specification.
>
> Regards
> --
> Dejan Bosanac
> -----------------
> FuseSource - The experts in open source integration and messaging.
> Email: [hidden email]</user/SendEmail.jtp?type=node&node=3235758&i=0>
> Web: http://fusesource.com
> Twitter:  http://twitter.com/dejanb
> ActiveMQ in Action - http://www.manning.com/snyder/
> Blog - http://www.nighttale.net
>
>
> On Tue, Jan 25, 2011 at 10:26 AM, barroco <[hidden
> email]</user/SendEmail.jtp?type=node&node=3235758&i=1>> wrote:
>
> >
> > Hi,
> >
> > I see, but it's not compliant with the stomp protocol and the problem is
> > that the topics /topic/subject/hello is not considered as
> > /topic/subject.hello .. So authorization doesn't work with subject with
> > several path depth because /topic/subject/hello/etc is single depth.
> >
> >
> > Best regards
> >
> > Michael
> > ________________________________________
> > From: Dejan Bosanac [via ActiveMQ] [
> > [hidden email]</user/SendEmail.jtp?type=node&node=3235758&i=2><[hidden
> email]</user/SendEmail.jtp?type=node&node=3235758&i=3>>
> > ]
> > Sent: Tuesday, January 25, 2011 10:18 AM
> > To: Barroco, Michael
> > Subject: Re: Stomp Topic
> >
> > Hi,
> >
> > if you want to use topic://subject.hello in the broker, then your stomp
> > destination should be /topic/subject.hello
> >
> > See
> >
> >
> http://activemq.apache.org/stomp.html#Stomp-WorkingwithDestinationswithStomp
> > for
> > more details on the topic
> >
> >
> > Regards
> > --
> > Dejan Bosanac
> > -----------------
> > FuseSource - The experts in open source integration and messaging.
> > Email: [hidden email]</user/SendEmail.jtp?type=node&node=3235738&i=0>
> > Web: http://fusesource.com
> > Twitter:  http://twitter.com/dejanb
> > ActiveMQ in Action - http://www.manning.com/snyder/
> > Blog - http://www.nighttale.net
> >
> >
> > On Tue, Jan 25, 2011 at 8:13 AM, barroco <[hidden
> > email]</user/SendEmail.jtp?type=node&node=3235738&i=1>> wrote:
> >
> > >
> > > Hello,
> > >
> > > 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 in some cases
> > (maybe
> > > NOT ALL):
> > >
> > > 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;
> > >    }
> > > }
> > >
> > >
> > > For my project, it seems to work, I hope this could be helpfull and I'm
> > > very
> > > interested if somebody find a best way to do it.
> > >
> > > Best regards
> > >
> > > michael
> > >
> > > PS: I created a new issue
> > > --
> > > View this message in context:
> > >
> http://activemq.2283324.n4.nabble.com/Stomp-Topic-tp3235572p3235572.html<
> http://activemq.2283324.n4.nabble.com/Stomp-Topic-tp3235572p3235572.html?by-user=t
> >
> > <
> >
> http://activemq.2283324.n4.nabble.com/Stomp-Topic-tp3235572p3235572.html?by-user=t
> <
> http://activemq.2283324.n4.nabble.com/Stomp-Topic-tp3235572p3235572.html?by-user=t&by-user=t
> >
> > >
> > > Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.
> > >
> >
> >
> > ________________________________
> > If you reply to this email, your message will be added to the discussion
> > below:
> > http://activemq.2283324.n4.nabble.com/Stomp-Topic-tp3235572p3235738.html
> <
> http://activemq.2283324.n4.nabble.com/Stomp-Topic-tp3235572p3235738.html?by-user=t
> >
> > To unsubscribe from Stomp Topic, click here<
> >
> http://activemq.2283324.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=3235572&code=YmFycm9jb0BlYnUuY2h8MzIzNTU3Mnw0MTM2NzI1MDk=
> <
> http://activemq.2283324.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=3235572&code=YmFycm9jb0BlYnUuY2h8MzIzNTU3Mnw0MTM2NzI1MDk=&by-user=t
> >
> > >.
> > -----------------------------------------
> > **************************************************
> > This email and any files transmitted with it
> > are confidential and intended solely for the
> > use of the individual or entity to whom they
> > are addressed.
> > If you have received this email in error,
> > please notify the system manager.
> > This footnote also confirms that this email
> > message has been swept by the mailgateway
> > **************************************************
> >
> >
> > --
> > View this message in context:
> > http://activemq.2283324.n4.nabble.com/Stomp-Topic-tp3235572p3235743.html
> <
> http://activemq.2283324.n4.nabble.com/Stomp-Topic-tp3235572p3235743.html?by-user=t
> >
> > Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.
> >
>
>
> ________________________________
> If you reply to this email, your message will be added to the discussion
> below:
> http://activemq.2283324.n4.nabble.com/Stomp-Topic-tp3235572p3235758.html
> To unsubscribe from Stomp Topic, click here<
> http://activemq.2283324.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=3235572&code=YmFycm9jb0BlYnUuY2h8MzIzNTU3Mnw0MTM2NzI1MDk=
> >.
>
> --
> View this message in context:
> http://activemq.2283324.n4.nabble.com/Stomp-Topic-tp3235572p3235818.html
> Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.
>

RE: Stomp Topic

Posted by barroco <ba...@ebu.ch>.
Oups,

In fact, it's in RadioVis specification (cf http://radiodns.org/wp-content/uploads/2009/12/RVIS01_1.0.0.pdf) which use STOMP. 

Maybe it will help somebody working on it.

Thanks for your time

Best regards

Michael




________________________________________
From: Dejan Bosanac [via ActiveMQ] [ml-node+3235758-984965199-209399@n4.nabble.com]
Sent: Tuesday, January 25, 2011 10:35 AM
To: Barroco, Michael
Subject: Re: Stomp Topic

Hi,

semantics of the destination names is not defined by the Stomp
specification.

Regards
--
Dejan Bosanac
-----------------
FuseSource - The experts in open source integration and messaging.
Email: [hidden email]</user/SendEmail.jtp?type=node&node=3235758&i=0>
Web: http://fusesource.com
Twitter:  http://twitter.com/dejanb
ActiveMQ in Action - http://www.manning.com/snyder/
Blog - http://www.nighttale.net


On Tue, Jan 25, 2011 at 10:26 AM, barroco <[hidden email]</user/SendEmail.jtp?type=node&node=3235758&i=1>> wrote:

>
> Hi,
>
> I see, but it's not compliant with the stomp protocol and the problem is
> that the topics /topic/subject/hello is not considered as
> /topic/subject.hello .. So authorization doesn't work with subject with
> several path depth because /topic/subject/hello/etc is single depth.
>
>
> Best regards
>
> Michael
> ________________________________________
> From: Dejan Bosanac [via ActiveMQ] [
> [hidden email]</user/SendEmail.jtp?type=node&node=3235758&i=2><[hidden email]</user/SendEmail.jtp?type=node&node=3235758&i=3>>
> ]
> Sent: Tuesday, January 25, 2011 10:18 AM
> To: Barroco, Michael
> Subject: Re: Stomp Topic
>
> Hi,
>
> if you want to use topic://subject.hello in the broker, then your stomp
> destination should be /topic/subject.hello
>
> See
>
> http://activemq.apache.org/stomp.html#Stomp-WorkingwithDestinationswithStomp
> for
> more details on the topic
>
>
> Regards
> --
> Dejan Bosanac
> -----------------
> FuseSource - The experts in open source integration and messaging.
> Email: [hidden email]</user/SendEmail.jtp?type=node&node=3235738&i=0>
> Web: http://fusesource.com
> Twitter:  http://twitter.com/dejanb
> ActiveMQ in Action - http://www.manning.com/snyder/
> Blog - http://www.nighttale.net
>
>
> On Tue, Jan 25, 2011 at 8:13 AM, barroco <[hidden
> email]</user/SendEmail.jtp?type=node&node=3235738&i=1>> wrote:
>
> >
> > Hello,
> >
> > 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 in some cases
> (maybe
> > NOT ALL):
> >
> > 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;
> >    }
> > }
> >
> >
> > For my project, it seems to work, I hope this could be helpfull and I'm
> > very
> > interested if somebody find a best way to do it.
> >
> > Best regards
> >
> > michael
> >
> > PS: I created a new issue
> > --
> > View this message in context:
> > http://activemq.2283324.n4.nabble.com/Stomp-Topic-tp3235572p3235572.html<http://activemq.2283324.n4.nabble.com/Stomp-Topic-tp3235572p3235572.html?by-user=t>
> <
> http://activemq.2283324.n4.nabble.com/Stomp-Topic-tp3235572p3235572.html?by-user=t<http://activemq.2283324.n4.nabble.com/Stomp-Topic-tp3235572p3235572.html?by-user=t&by-user=t>
> >
> > Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.
> >
>
>
> ________________________________
> If you reply to this email, your message will be added to the discussion
> below:
> http://activemq.2283324.n4.nabble.com/Stomp-Topic-tp3235572p3235738.html<http://activemq.2283324.n4.nabble.com/Stomp-Topic-tp3235572p3235738.html?by-user=t>
> To unsubscribe from Stomp Topic, click here<
> http://activemq.2283324.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=3235572&code=YmFycm9jb0BlYnUuY2h8MzIzNTU3Mnw0MTM2NzI1MDk=<http://activemq.2283324.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=3235572&code=YmFycm9jb0BlYnUuY2h8MzIzNTU3Mnw0MTM2NzI1MDk=&by-user=t>
> >.
> -----------------------------------------
> **************************************************
> This email and any files transmitted with it
> are confidential and intended solely for the
> use of the individual or entity to whom they
> are addressed.
> If you have received this email in error,
> please notify the system manager.
> This footnote also confirms that this email
> message has been swept by the mailgateway
> **************************************************
>
>
> --
> View this message in context:
> http://activemq.2283324.n4.nabble.com/Stomp-Topic-tp3235572p3235743.html<http://activemq.2283324.n4.nabble.com/Stomp-Topic-tp3235572p3235743.html?by-user=t>
> Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.
>


________________________________
If you reply to this email, your message will be added to the discussion below:
http://activemq.2283324.n4.nabble.com/Stomp-Topic-tp3235572p3235758.html
To unsubscribe from Stomp Topic, click here<http://activemq.2283324.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=3235572&code=YmFycm9jb0BlYnUuY2h8MzIzNTU3Mnw0MTM2NzI1MDk=>.

-- 
View this message in context: http://activemq.2283324.n4.nabble.com/Stomp-Topic-tp3235572p3235818.html
Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.

Re: Stomp Topic

Posted by Dejan Bosanac <de...@nighttale.net>.
Hi,

semantics of the destination names is not defined by the Stomp
specification.

Regards
-- 
Dejan Bosanac
-----------------
FuseSource - The experts in open source integration and messaging.
Email: dejanb@fusesource.com
Web: http://fusesource.com
Twitter:  http://twitter.com/dejanb
ActiveMQ in Action - http://www.manning.com/snyder/
Blog - http://www.nighttale.net


On Tue, Jan 25, 2011 at 10:26 AM, barroco <ba...@ebu.ch> wrote:

>
> Hi,
>
> I see, but it's not compliant with the stomp protocol and the problem is
> that the topics /topic/subject/hello is not considered as
> /topic/subject.hello .. So authorization doesn't work with subject with
> several path depth because /topic/subject/hello/etc is single depth.
>
>
> Best regards
>
> Michael
> ________________________________________
> From: Dejan Bosanac [via ActiveMQ] [
> ml-node+3235738-483644461-209399@n4.nabble.com<ml...@n4.nabble.com>
> ]
> Sent: Tuesday, January 25, 2011 10:18 AM
> To: Barroco, Michael
> Subject: Re: Stomp Topic
>
> Hi,
>
> if you want to use topic://subject.hello in the broker, then your stomp
> destination should be /topic/subject.hello
>
> See
>
> http://activemq.apache.org/stomp.html#Stomp-WorkingwithDestinationswithStomp
> for
> more details on the topic
>
>
> Regards
> --
> Dejan Bosanac
> -----------------
> FuseSource - The experts in open source integration and messaging.
> Email: [hidden email]</user/SendEmail.jtp?type=node&node=3235738&i=0>
> Web: http://fusesource.com
> Twitter:  http://twitter.com/dejanb
> ActiveMQ in Action - http://www.manning.com/snyder/
> Blog - http://www.nighttale.net
>
>
> On Tue, Jan 25, 2011 at 8:13 AM, barroco <[hidden
> email]</user/SendEmail.jtp?type=node&node=3235738&i=1>> wrote:
>
> >
> > Hello,
> >
> > 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 in some cases
> (maybe
> > NOT ALL):
> >
> > 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;
> >    }
> > }
> >
> >
> > For my project, it seems to work, I hope this could be helpfull and I'm
> > very
> > interested if somebody find a best way to do it.
> >
> > Best regards
> >
> > michael
> >
> > PS: I created a new issue
> > --
> > View this message in context:
> > http://activemq.2283324.n4.nabble.com/Stomp-Topic-tp3235572p3235572.html
> <
> http://activemq.2283324.n4.nabble.com/Stomp-Topic-tp3235572p3235572.html?by-user=t
> >
> > Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.
> >
>
>
> ________________________________
> If you reply to this email, your message will be added to the discussion
> below:
> http://activemq.2283324.n4.nabble.com/Stomp-Topic-tp3235572p3235738.html
> To unsubscribe from Stomp Topic, click here<
> http://activemq.2283324.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=3235572&code=YmFycm9jb0BlYnUuY2h8MzIzNTU3Mnw0MTM2NzI1MDk=
> >.
> -----------------------------------------
> **************************************************
> This email and any files transmitted with it
> are confidential and intended solely for the
> use of the individual or entity to whom they
> are addressed.
> If you have received this email in error,
> please notify the system manager.
> This footnote also confirms that this email
> message has been swept by the mailgateway
> **************************************************
>
>
> --
> View this message in context:
> http://activemq.2283324.n4.nabble.com/Stomp-Topic-tp3235572p3235743.html
> Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.
>

RE: Stomp Topic

Posted by barroco <ba...@ebu.ch>.
Hi,

I see, but it's not compliant with the stomp protocol and the problem is that the topics /topic/subject/hello is not considered as /topic/subject.hello .. So authorization doesn't work with subject with several path depth because /topic/subject/hello/etc is single depth.


Best regards

Michael
________________________________________
From: Dejan Bosanac [via ActiveMQ] [ml-node+3235738-483644461-209399@n4.nabble.com]
Sent: Tuesday, January 25, 2011 10:18 AM
To: Barroco, Michael
Subject: Re: Stomp Topic

Hi,

if you want to use topic://subject.hello in the broker, then your stomp
destination should be /topic/subject.hello

See
http://activemq.apache.org/stomp.html#Stomp-WorkingwithDestinationswithStomp
for
more details on the topic


Regards
--
Dejan Bosanac
-----------------
FuseSource - The experts in open source integration and messaging.
Email: [hidden email]</user/SendEmail.jtp?type=node&node=3235738&i=0>
Web: http://fusesource.com
Twitter:  http://twitter.com/dejanb
ActiveMQ in Action - http://www.manning.com/snyder/
Blog - http://www.nighttale.net


On Tue, Jan 25, 2011 at 8:13 AM, barroco <[hidden email]</user/SendEmail.jtp?type=node&node=3235738&i=1>> wrote:

>
> Hello,
>
> 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 in some cases (maybe
> NOT ALL):
>
> 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;
>    }
> }
>
>
> For my project, it seems to work, I hope this could be helpfull and I'm
> very
> interested if somebody find a best way to do it.
>
> Best regards
>
> michael
>
> PS: I created a new issue
> --
> View this message in context:
> http://activemq.2283324.n4.nabble.com/Stomp-Topic-tp3235572p3235572.html<http://activemq.2283324.n4.nabble.com/Stomp-Topic-tp3235572p3235572.html?by-user=t>
> Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.
>


________________________________
If you reply to this email, your message will be added to the discussion below:
http://activemq.2283324.n4.nabble.com/Stomp-Topic-tp3235572p3235738.html
To unsubscribe from Stomp Topic, click here<http://activemq.2283324.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=3235572&code=YmFycm9jb0BlYnUuY2h8MzIzNTU3Mnw0MTM2NzI1MDk=>.
-----------------------------------------
**************************************************
This email and any files transmitted with it 
are confidential and intended solely for the 
use of the individual or entity to whom they
are addressed. 
If you have received this email in error, 
please notify the system manager.
This footnote also confirms that this email 
message has been swept by the mailgateway
**************************************************


-- 
View this message in context: http://activemq.2283324.n4.nabble.com/Stomp-Topic-tp3235572p3235743.html
Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.

Re: Stomp Topic

Posted by Dejan Bosanac <de...@nighttale.net>.
Hi,

if you want to use topic://subject.hello in the broker, then your stomp
destination should be /topic/subject.hello

See
http://activemq.apache.org/stomp.html#Stomp-WorkingwithDestinationswithStomp
for
more details on the topic


Regards
-- 
Dejan Bosanac
-----------------
FuseSource - The experts in open source integration and messaging.
Email: dejanb@fusesource.com
Web: http://fusesource.com
Twitter:  http://twitter.com/dejanb
ActiveMQ in Action - http://www.manning.com/snyder/
Blog - http://www.nighttale.net


On Tue, Jan 25, 2011 at 8:13 AM, barroco <ba...@ebu.ch> wrote:

>
> Hello,
>
> 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 in some cases (maybe
> NOT ALL):
>
> 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;
>    }
> }
>
>
> For my project, it seems to work, I hope this could be helpfull and I'm
> very
> interested if somebody find a best way to do it.
>
> Best regards
>
> michael
>
> PS: I created a new issue
> --
> View this message in context:
> http://activemq.2283324.n4.nabble.com/Stomp-Topic-tp3235572p3235572.html
> Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.
>