qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tom M <td.hom...@gmail.com>
Subject Re: how to set static binding (routingkeys) config for Java broker?
Date Sat, 16 Mar 2013 00:41:27 GMT
Fraser,
I was wondering if you have an update about the "QMF Management Plugin for
the Java Broker" ?

we will be interested in trying it with the Java broker when available.

thanks,
Tom

On Sat, Mar 9, 2013 at 1:14 PM, Robbie Gemmell <robbie.gemmell@gmail.com>wrote:

> There isn't a schema for config.xml or virtualhosts.xml im afraid, and
> documentation has been rather lacking in this area. In the docs various
> elements of config.xml that we might actually expect a user to change
> (basically those for management and security) are described in associated
> sections, but there is no overall schema. For virtualhosts.xml, this bit
> from the older docs is about all there was:
>
> http://qpid.apache.org/books/0.18/AMQP-Messaging-Broker-Java-Book/html/Qpid-Java-Broker-Virtualhosts-Config.html
>
> Frasers suggestions of code areas to look at are indeed the current best
> source of some of the details. We have been trying to slowly improve the
> Java broker docs for a while now (we re-started them from scratch) but
> virtualhosts.xml is still an area of weakness. That is in part because it
> is a bit horrible and in part because we have actually intended to remove
> virtualhosts.xml for some time, though that is going to be further down the
> line than we originally intended.
>
> We have been working in the long term to change how the Java broker is
> configured (and internally structured), having all configuration stored
> within configuration stores at the broker and virtualhost levels, and
> making it possible to start the broker without supplying any initial
> configuration and then configuring it entirely through its management
> interface. The broker level of this work is coming along and so config.xml
> actually no longer exists on trunk (to become 0.22), with the broker
> initially starting up without user-supplied configuration (though it can be
> done if necessary, but the idea is not to) and then storing its base
> configuration into a JSON config store for further configuration via the
> managment interface. It is possible to create virtualhosts without any
> virtualhosts.xml file at the moment, though for now it is also still
> possible to supply one in order to support doing various bits of
> vhost-level configuration we cant perform/store via the management
> interface yet. We will look to enable that functionality in future and
> ultimately remove virtualhosts.xml file(s), but its likely to be supported
> longer than we first thought/wanted as other significant pieces of work are
> seeking attention. In typical fashion, we still have to do the work on docs
> for this new stuff.
>
> Robbie
>
> On 8 March 2013 23:06, Tom M <td.home21@gmail.com> wrote:
>
> > thanks for the additional explanation.
> >
> > Also, is there a schema or some other documentation that defines the
> valid
> > parameters of the Java Broker   virtualhost.xml ?
> > And, for that matter, also for the Java Broker  config.xml ?
> >
> > thanks,
> > Tom
> >
> > On Thu, Mar 7, 2013 at 5:57 PM, Robbie Gemmell <robbie.gemmell@gmail.com
> > >wrote:
> >
> > > 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