qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Robbie Gemmell <robbie.gemm...@gmail.com>
Subject Re: how to set static binding (routingkeys) config for Java broker?
Date Thu, 07 Mar 2013 23:57:37 GMT
Looking at the code which processes that configuration, yes you can specify
multiple binding keys for the queue by having multiple 'routingKey'
elements for the queue within the the configuration file (that element name
was poorly chosen, as the 'routing key' name actually applies when
publishing).

What Jakub may have been aluding to in his example binding key is that
exchanges of the 'topic' type (such as amq.topic) support heirarchical
bindings with dots deliminating each level of the heirarchy, and give
special meaning to use of # and * as levels such that using a * matches any
value for that level in a routing key and using a # matches zero or more
levels. As such a single binding can actually match many routing keys used
when publishing a message to a topic exchange.

There is a diagram and description that expand on this here:
https://access.redhat.com/knowledge/docs/en-US/Red_Hat_Enterprise_MRG/1.3/html/Messaging_User_Guide/chap-Messaging_User_Guide-Exchanges.html#sect-Messaging_User_Guide-Exchange_Types-Topic_Exchange

Robbie

On 7 March 2013 20:59, Tom M <td.home21@gmail.com> wrote:

> Jakub, Alex, Frase,
>
> Thank you very much for your replies and explanations.
>
> Jakub,
>
> From your syntax,
>      <routingKey>rtgkey.#</routingKey>
>
> Does the ".#" indicate that we can use this connotation to provide a wild
> card set of routingKeys with the same base?
> If we have a discrete set of routingKey names (without the same base name),
> can we just add multiple routingKey elements for the queue?
>
>
> Frase,
> we are definitely interested in your success with this tool.  Do please let
> us know.
>
> thanks,
> Tom
>
>
> ---------- Forwarded message ----------
> From: Jakub Scholz <jakub@scholz.cz>
> Date: Thu, Mar 7, 2013 at 8:39 AM
> Subject: Re: how to set static binding (routingkeys) config for Java
> broker?
> To: users@qpid.apache.org
>
>
>
> If you are still using the XML configuration, in the virtualhosts.xml you
> should be able to add the binding in the queue section ... like this:
>
>                 <queue>
>                     <name>queue1</name>
>                     <queue1>
>                         <exchange>exchange1</exchange>
>                         <routingKey>rtgkey.#</routingKey>
>                         <durable>true</durable>
>                     </queue1>
>                 </queue>
> Regards
> Jakub
>
>
> ---------- Forwarded message ----------
> From: Oleksandr Rudyy <orudyy@gmail.com>
> Date: Thu, Mar 7, 2013 at 9:10 AM
> Subject: Re: how to set static binding (routingkeys) config for Java
> broker?
> To: users@qpid.apache.org
>
> Hi Tom,
>
> qpid-config does not work with java broker.
>
> You can configure your queues/exchanges/bindings on java broker in
> virtualhost.xml or create them with JMX client like jconsole, qpid
> management console or rest management client like qpid web management
> console.
>
> You need to configure a persistent message store (like Derby or BDB)
> and declare your queues/exchanges as durable if you need them to
> survive broker restart.
>
> At the moment there is no common configuration utility supported by
> both c++ and java brokers.
>
> Kind Regards,
> Alex
>
>
> On Thu, Mar 7, 2013 at 12:57 PM, Fraser Adams <
> fraser.adams@blueyonder.co.uk
> > wrote:
>
> > Hi Tom,
> > RE:
> >
> > It appears that qpid-config  does not work for the Java broker.  Is this
> > still correct?
> >
> >
> > You may have seen some of my postings with respect to QMF and
> > implementation of a QMF based management GUI. This was initially for the
> > C++ broker however you might be interested to know that I'm currently
> > working on a QMF Management Plugin for the Java Broker.
> >
> > So far I've got it working for viewing statistics, but I'm planning on
> > implementing most of add/delete stuff this weekend.
> >
> > With a bit of luck I'll have something releasable by the end of the
> > weekend if you keep an eye on the mailing list.
> >
> > Initially it'll just be a new release of the qmf2 tarball attached to the
> > QMF jira, but I need to look at getting it properly in to the main Qpid
> > code base after that.
> >
> > It's worth mentioning that the Java broker has its own management UI on
> > host:port:8080/management you might want to try that too. I'm trying to
> > provide a unified view across a mixed economy of C++ and Java brokers so
> I
> > tend to prefer the QMF approach. My QmfManagementPlugin works with
> > qpid-config, though you'd need to use a recent version (0.18 or 0.20) the
> > early versions used QMF1 but my Agent only talks QMF2.
> >
> > I'll keep you posted.
> >
> > Best regards,
> > Frase
> >
> >
> >
> > On 07/03/13 14:26, Tom M wrote:
> >
> >> We are attempting to set the configuration for our qpid broker in
> >> development of a production system.
> >>
> >> It appears that qpid-config  does not work for the Java broker.  Is this
> >> still correct?
> >>
> >> I see that we can set the config for the exchanges and queue in the
> >> virtualhosts.xml.
> >> But, I can not find any documentation or examples about setting the
> >> binding
> >> (routingkeys) in this config file.  Is it possible to config the
> bindings
> >> from this file?  If so, can you provide the syntax?
> >>
> >> I have found that setting static bindings for static Direct Exchange to
> >> static queue does work for the Java broker (and we have had success
> >> providing messaging this way with the Java broker).
> >>   We can staticly configure the bindings (as well as the exchange and
> >> queues) via the C++ client lib, using  session exchangeBind( ), from a
> >> static Direct Exchange and static queue.
> >> Also, can successfully set via Jconsole.
> >> But, we don't want to have to use these methods for our production
> system
> >> (we are attempting to get away from the C++ client lib, and then I don't
> >> even see this available for the messaging lib.)
> >>
> >> We would prefer to set our mission operational messaging elements via a
> >> config file (or config script or Java app) on broker start up.
> >>
> >> This is primarily driven by our HA requirements.  For HA, for these
> >> primary
> >> command and responses messages, we need our exchanges, queues and
> bindings
> >> to be static so that if any of the involved components goes down, we
> will
> >> not lose any messages.
> >> Also, we need to set bindings such that, in some cases, a single
> >> message into given exchange needs to route to multiple queues.  And,
> also,
> >> some queues need to be bound to multiple exchanges.
> >>
> >> A little broader question....
> >> If qpid-config does not work for the Java broker, is there some other a
> >> way
> >> to provide the config that will work for both the Java and C++ broker?
> >> We would like to have the flexibility to config with either.
> >>
> >> thanks,
> >> Tom Maggio
> >>
> >>
> >
> >
>  ------------------------------**------------------------------**---------
> > To unsubscribe, e-mail: users-unsubscribe@qpid.apache.**org<
> users-unsubscribe@qpid.apache.org>
> > For additional commands, e-mail: users-help@qpid.apache.org
> >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message