From users-return-7888-apmail-qpid-users-archive=qpid.apache.org@qpid.apache.org Sat Mar 16 00:41:55 2013 Return-Path: X-Original-To: apmail-qpid-users-archive@www.apache.org Delivered-To: apmail-qpid-users-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 599E59144 for ; Sat, 16 Mar 2013 00:41:55 +0000 (UTC) Received: (qmail 80875 invoked by uid 500); 16 Mar 2013 00:41:55 -0000 Delivered-To: apmail-qpid-users-archive@qpid.apache.org Received: (qmail 80839 invoked by uid 500); 16 Mar 2013 00:41:55 -0000 Mailing-List: contact users-help@qpid.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@qpid.apache.org Delivered-To: mailing list users@qpid.apache.org Received: (qmail 80829 invoked by uid 99); 16 Mar 2013 00:41:55 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 16 Mar 2013 00:41:54 +0000 X-ASF-Spam-Status: No, hits=1.7 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT,HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of td.home21@gmail.com designates 209.85.214.48 as permitted sender) Received: from [209.85.214.48] (HELO mail-bk0-f48.google.com) (209.85.214.48) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 16 Mar 2013 00:41:48 +0000 Received: by mail-bk0-f48.google.com with SMTP id jf20so1741288bkc.21 for ; Fri, 15 Mar 2013 17:41:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:content-type; bh=6rFiICuZUpuPYxs0ZXgQppV0ky0OtkfLXk61hTZ2NfQ=; b=c6NvqdolUZucOcUtsDfHaY3s/jesjBGX3FKZvaTBpRTmxdB4m9ahAKaVrpcK6Fz0OU ABYkvo+O4D/J6PzdTLq5Kq/i5Bxer31mWSI4TaWm6dbaVQsRYaearRodPmTbR8/n521v 2NIF6fa586XH3/ykklUEA3IbnAPHPXYVAw9QnXIWiJR88mWkIIyG/IndncHy3BNIYuTh IRWd+vRYdeCdwc2FH6rZ5JsJ2E+q7/djwcLN3UWfYPWcf3ng0IPCp+HYtqepa4HE4nXe rooD6dL21TXHk6dtSjs8BUJOL6/xcdkl9JqAYi77EuAi6Hn7vJp2Z1UQGS9ODX4Ke//c xj6A== MIME-Version: 1.0 X-Received: by 10.204.227.143 with SMTP id ja15mr3942412bkb.5.1363394487930; Fri, 15 Mar 2013 17:41:27 -0700 (PDT) Received: by 10.205.125.141 with HTTP; Fri, 15 Mar 2013 17:41:27 -0700 (PDT) In-Reply-To: References: <5138E322.2010401@blueyonder.co.uk> Date: Fri, 15 Mar 2013 19:41:27 -0500 Message-ID: Subject: Re: how to set static binding (routingkeys) config for Java broker? From: Tom M To: users@qpid.apache.org Content-Type: multipart/alternative; boundary=485b3970d3bc2487ad04d80004e7 X-Virus-Checked: Checked by ClamAV on apache.org --485b3970d3bc2487ad04d80004e7 Content-Type: text/plain; charset=ISO-8859-1 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 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 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 > >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 wrote: > > > > > > > Jakub, Alex, Frase, > > > > > > > > Thank you very much for your replies and explanations. > > > > > > > > Jakub, > > > > > > > > From your syntax, > > > > rtgkey.# > > > > > > > > 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 > > > > 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: > > > > > > > > > > > > queue1 > > > > > > > > exchange1 > > > > rtgkey.# > > > > true > > > > > > > > > > > > Regards > > > > Jakub > > > > > > > > > > > > ---------- Forwarded message ---------- > > > > From: Oleksandr Rudyy > > > > 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 > > > > > > > > > > > > > > > > > > > > --485b3970d3bc2487ad04d80004e7--