-declare: {arguments:
{'qpid.policy_type': ring, 'qpid.max_size': 5}}, x-bindings:
[{exchange: 'amq.match', queue: 'consumer', key: 'data1', arguments:
{x-match: all, data-service: amqp-delivery, item-owner: fadams}}]}}
I add the queue "
> What version of the cyrus sasl lib do you have? Did you build it yourself
> or install it as a package?
Hi Gordon,
It looks like I've got sasl2.1.23 I installed it as a package on my Ubuntu
box via Synaptic Package Manager.
>
> I believe older versions do not support the sasl_set_path option all
issions with the
> qpidd.sasldb so my first step was to copy etc/sasl2/qpidd.conf and
> qpidd.sasldb to my home directory (just to make things easier while I'm
> playing). I modified qpidd.conf with
> sasldb_path: /home/fadams/qpidd.sasldb
>
> I checked
> sasldblistusers2 -f /hom
Hello all,
We've done some federation where we've connected exchanges on different
brokers and experimented with exchange routes and queue routes but I'm
interested to know if it's possible to link different exchanges on the same
broker.
I'm guessing it is possible, but what's the best way? Is it
Hi,
I'm curious if there is an ability to do "not" selectors via the headers
exchange.
so for example I might have two headers lets say type and subtype and it
might be nice to select messages of type=fruit and subttype != peach so I
can select all fruit except peaches. That's clearly a lot less c
Hi all,
I'm curious about the statistics maintained on the broker.
In particular I've been sending messages to the amq.match exchange and
binding to a queue. Now I've deliberately set it up such that my binding
only matches 2/3 of the messages I'm sending but looking at some of the
stats from QMF
Thanks for the update Gordon - glad I'm not imagining things :-)
I'm curious though. What's the reason for validating a replyTo address using
an exchange declare? What I mean by that is that I'd have thought that in
general a reply to address gets sent by a producer client as its return
address an
Hello all,
In a JMS client I've created an address string of the form:
qmf.default.direct/qmfc-zappa.17410
and used this to create a reply address:
replyAddress = syncSession.createQueue(address);
which is then used in various request/response patterns e.g. in my request
messages I do:
request.
Hi all,
In an address node it's possible to declare a queue and one can set
arguments equivalent to administratively declaring a queue by using the
x-declare block.
I've not had a chance to test this out myself but one of my colleagues
suggested that this was limited to 2GB. I've just done a quick
There is indeed, it's called queueThresholdExceeded
It was only added in 0.10 I believe so that's something to be aware of.
Frase
Carl Trieloff wrote:
>
> I speak under correction, but I believe there is a QMF event for this,
> running qpid-printevents would print if there is one.
>
> if not,
Hi,
I guess 0.12 release has slipped a little, I believe it was scheduled for 27
July.
Could someone please let me know what the new estimate is?
Many thanks,
Fraser
--
View this message in context:
http://apache-qpid-users.2158936.n2.nabble.com/Could-someone-please-let-me-know-the-new-0-12-rel
Hello,
I'm using JMS and I've created a URL for automatic reconnection:
String amqpurl =
String.format("amqp://%s:%s@clientid/test?brokerlist='tcp://%s:%d?retries='%d'&connectdelay='%d''",
username, password, host, port, retries, connectdelay);
My code uses a mixture of synchronous sends/receives
Hi Again Jeff,
Another thing that may help you. Before I got started writing my Java QMF2
API implementation I wrote a client that prints info about all connections
to a broker. This contains code very much like qpid-config -b queues. I've
linked the thread below, there's a link off that to downloa
Hi Jeff,
I'm afraid that I can't give I direct answer, but I may be able to help.
I'm not an expert on the C++ Console API, but one thing is for sure - it
doesn't conform to the QMF2 API specified here:
https://cwiki.apache.org/qpid/qmfv2-api-proposal.html QMF2 API
In any obvious way. The QMF2
Hi again,
Scratch my last post - I got it working - it was a screw up in my URL.
In case anyone is interested I used the following test URL to get it working
amqpurl =
"amqp://guest:guest@clientid/test?brokerlist='tcp://localhost:5672?retries='10'&connectdelay='5000''";
What I'd got wrong was th
Hello,
I've been writing code that automatically reconnects by handling the JMS
ExceptionListener.
I've realised that it's possible with the C++ API to automatically
reconnect.
Looking through some of the Java docs there's an implication that this
should work - I've seen a "retries" option and a
Gordon Sim wrote:
>
>>>
>>> Try adding a line after that something like the following:
>>> msg.getProperties()["xyz_header"].setEncoding("utf8");
>>>
>> Is there a reason that this isn't the default behaviour
>
> Mainly because, unlike java, in c++ std::string does not have an
> encoding it
Gordon Sim wrote:
>
> Try adding a line after that something like the following:
>msg.getProperties()["xyz_header"].setEncoding("utf8");
>
Is there a reason that this isn't the default behaviour - it would seem to
make sense from a Java/C++ interoperability perspective and it's not ideal
to
S is there any "good" reason for not making x-amqp-0-10.routing-key
available for JMS clients.
Doing some Googling on this apparently it used to be available (though
returned a byte[] not a string) but it got removed as it wasn't a standard
JMS property.
I can't see any reason why it's not ma
OK this one is weird
As I'm exploring QMF2 in JMS I've been playing with getting Agent
information
I've got code as follows:
String agent = message.getStringProperty("qmf.agent");
String opcode = message.getStringProperty("qmf.opcode");
Which works perfectly for the Broker Agent, but when I
A question for Gordon Sim,
A little while back you kindly put a patch on the mailing list to allow JMS
to work properly with QMF2 by allowing app-id to be set
there's a JIRA https://issues.apache.org/jira/browse/QPID-3302 for this and
looking through the comments it looks like it *should* be in 0.
Hello,
I've successfully sent a QMF2 _agent_locate_request and got a
_agent_locate_response back, but I'm now wondering what use it is
So is the broker agent the only QMF2 agent running by default? I get
qmf.opcode = _agent_locate_response
qmf.agent = apache.org:qpidd:04cb2a36-ccaa-4762-9e9a-
Say I've got a producer writing to a headers exchange publishing messages
with headers I may want to select on.
Most of my consumers want to be selective and bind based on specific
x-match: all terms
However I may want some specific clients to just consume all published
messages.
Obviously if th
Hi Ken, that's awesome many thanks - I'm not going mad after all it is just a
slightly quirky pythonism, and I've just clocked how the language got its
name :-)
Re "Not very intuitive, IMHO" for the most part I was cursing that too :-D
but upon reflection (bad pun!!) to be fair it's probably as mu
My guess is that it's simply due to the interpreted nature of python.
I've been writing a Java port of qpid-config that uses QMF2 and that
similarly takes a little time to give results, but that's pretty much down
to the JVM startup. I wrote code to listen out for QMF Events and that
responds to E
Any takers on this? Is there some python guru out there who can explain what
this is doing.
I can't even get sensible answers Googling - imagine what "python
underscore" returns :-/
MTIA
Frase
fadams wrote:
>
> Hello,
> In qpid-config there's code to print the n
Hi Gordon,
To be honest I had no particular reason to unbind from the default exchange,
it's just that I'm writing a Java port of qpid-config using QMF2 - and in
the process I seem to be going some way to implementing the QMF2 API in Java
:-) as part of this I've been trying various scenarios and c
I'm trying to do a QMF2 unbind
my code is:
private void unbind(String[] args) {
if (args.length < 2) {
usage();
}
String bindingIdentifier = args[0] + "/" + args[1];
if (args.length > 2) {
Hello,
With broker federation it's normal to configure the destination broker to
create a link and bridge to a source broker, however it's also possible to
specify a flag in qpid-route to have the source-broker establish a link to a
destination broker a "push route".
Could someone please let me kn
Hello,
In qpid-config there's code to print the name of the alternate exchange for
queues or exchanges.
For queues it's
if q.altExchange:
print "--alternate-exchange=%s" % q._altExchange_.name,
I'm not familiar with python so the "_altExchange_" is very cryptic to me
the "q.
messages related to data-service=item-selection and 666 relating to
item-owner=fadams which relates to the line in the producer below
if ((i % 3) == 0) message.setStringProperty("item-owner", "jdadams");
else message.setStringProperty("item-owner", "fadams");
A
Hi again Gordon,
I've taken to looking through the C++ broker code to figure some of this out
and I'm afraid it's making my head EXPLODE :-)
So I've found ./cpp/src/qpid/management/ManagementAgent.cpp and the method
"handleGetQueryLH" does indeed say "Currently we only support OBJECT
queries".
ha
Hi all,
I meant to say before, but this seems to be sorted now I've upgraded to
0.10, I've been busy with other things so I've just got round to playing
with Perl.
One thing I've noticed. The make install in
./qpid-0.10/cpp/bindings/qpid/perl seems to install the libcqpid_perl.so and
.la in my /us
hange: 'amq.match', queue: 'myqueue', key: 'data1', arguments:
{x-match: any, data-service: item-selection, item-owner: fadams}}]}}"
My test producer runs 1000 iterations, every message has
data-service=item-selection set and I've got a line
if ((i %
Hi Gordon,
I've got headers bindings on the destination broker with a binding key set
to "data1"
I did "qpid-route route add localhost:5673 localhost:5672 amq.match data1"
Which seems to be what you were suggesting to Richard and I get the
following message on the source broker "error Execution e
Hi Richard,
You may have already figured this out, but in case not...
You have been trying to create a static route haven't you, I think you've
been playing with dynamic routes too and found a bug with propagating
headers bindings (works with x-match any but not x-match all) I think Gordon
has fix
I notice when I Googled auto-delete a thread in the archive on timed
auto-delete (see below).
Did this ever make it into a broker - if so what version?
Also if so what's the syntax I'd need to use in the x-declare block of an
address to use this.
Does the time start when the last connection asso
Hello,
I've been writing some code playing with QMF2 in JMS I've happily queried
with the OBJECT target
public List getObjects(String className) {
try {
MapMessage request =
requestResponseSession.createMapMessage();
request.
I'm playing with QMF2 from JMS and I seem to be able to create queues using
the following:
MapMessage request = requestResponseSession.createMapMessage();
request.setJMSReplyTo(responseQueue);
request.setStringProperty("x-amqp-0-10.app-id", "qmf2");
request.setStrin
I guess from a "customer" of qpid perspective I like what Carl is suggesting.
The reason that I was interested in obtaining properties from the broker
object was simply so that I could infer a property that was not explicitly
set on the queue e.g. max size, policy etc.
As it stands unless things
If one starts to play with qpid in any significant way there seems to be a
number of edge cases that commonly crop up. I've got a few scenarios and
it'd be really interesting to hear opinions and how others have
solved/worked around them.
Some of the scenarios are somewhat interrelated I guess. So
OK that makes sense, and it's good to know that "If the level dips back below
the threshold the timer is reset".
I guess that the scenario I was testing is when a new producer comes online
and there's a full queue.
I can clearly intercept the clientConnect then do some querying of QMF
objects, bu
So I guess this is the "queueThresholdExceeded" Event, This looks pretty
cool.
However..
I notice if I set up the queue and run my producer, the first time I exceed
the threshold I get the Event nicely, but if I re-run the producer to an
already full queue I simply get the exception thrown wi
Having explored QMF2 a bit I find myself down more rabbit holes
1) Is it possible for a client to recover the "--default-queue-limit" for a
broker? I know when I interrogate Queue objects I can get the queue size
from the arguments object if it has been explicitly set with something like
--max
Another update
Everything is now sorted, I can switch between 0.10 and 0.8 happily now
Thanks again everyone.
--
View this message in context:
http://apache-qpid-users.2158936.n2.nabble.com/Qpid-0-10-make-all-fails-for-me-configure-is-fine-tp6516814p6533036.html
Sent from the Apache Qpid users
y using 0.8
operationally so I wanted to start playing with 0.10 and
comparing/regression testing things etc.).
I've just tried putting my /usr/local back and trying the 0.10 build with
./configure --prefix=/home/fadams/qpid-0.10-test but unfortunately that
barfs at the same place as my original
Now there's a thought.
I do indeed have 0.8 installed and I've got my LD_LIBRARY_PATH pointing to
/usr/local/lib where it's installed.
I'll have a play with that train of thought. I won't be able to try until
Wednesday/Thursday but I'll report back success (yay!!) or failure (boo!!)
BTW what's
Hi Alan,
Thanks for the reply.
The build I attempted was from a download of the full source release from
the official qpid download page.
Full source release qpid-0.10.tar.gz [PGP]
I had to run ./bootstrap to generate the configure script. Then ran
./configure followed by make all
If there
Hello all,
There have been a few threads recently about using QMF2 with JMS:
"Java QMF console classes in org.apache.qpid.console seem very broken!!"
"Is it possible to write a client that gets notified of
connections/disconnections to broker?"
I got a lot of help from Gordon Sim and Rajith Attap
I've just had a try at making 0.10 (I built 0.8 ages ago and that's fine)
./configure ran fine and completed
I tried make all.
It got as far as making the tests and seemed to die when making cluster_test
make[3]: Entering directory `/home/fadams/java/qpid-0.10/cpp/src/tests'
Aha I see what you mean now.
When I first started playing with this and I noticed the MapMessage vs
BytesMessage thing I tried looking at msg.getJMSType() to see if it said
"amqp/map" or "amqp/list", but it just seemed to return null
Thanks for the QMF API vs protocol tip, that's a relief -
So guys, if the subject isn't what I actually need is it possible to retrieve
the routing key in (JMS) client code?
It's kind of useful to be able to "probe" subjects/routing-keys to see
what's being published so one can refine a particular subscription.
Or maybe I'm just weird :-)
Gordon Sim w
Re: "Are there any other differences you have noted?"
Well yeah :-) as we've previously discussed Event subscriptions appear to
return MapMessages in 0.8 and BytesMessages (which need to be decoded into
Lists as per your example) in 0.10
clearly I can use instanceof to get the Message derived typ
I'm a bit confused.
Surely the subject has to have been set *somewhere* by the producer, after
all I'm successfully subscribing to
"qmf.default.topic/agent.ind.event.org_apache_qpid_broker.#" so the topic
exchange would be using the subject to apply the binding.
have I missed something???
Rajith
As it says in the subject.
The reason why I'm asking is that there seems to be some differences in QMF
between 0.8 and 0.10 and it would be nice to program clients defensively.
Cheers,
Fraser.
--
View this message in context:
http://apache-qpid-users.2158936.n2.nabble.com/Is-there-any-easy-way-
Out of curiosity...
Is it possible to configure a client such that it only receives message
headers from the broker (clearly it's possible for a client to ignore the
message body, but that's not what I mean).
Say for example I wanted to write a client to generate management
information relati
Hi Rajith
I'm using qpid 0.8 (c++ broker)
Re: "What is the address string you are using on the producer side". That's
more interesting, what I am /actually/ doing is subscribing to
"qmf.default.topic/agent.ind.event.org_apache_qpid_broker.#" - see the "Is
it possible to write a client that gets n
Hi again Gordon et al.
I'm making progress with this :-) so thanks for all the info so far.
Firstly with respect to the topic being subscribed to for events
"qmf.default.topic/agent.ind.event.org_apache_qpid_broker.#" is this
actually documented anywhere? I had a look through the QMF Wiki pages b
Hello,
can anyone tell me how to retrieve a message's subject.
I've tried
System.out.println(message.getStringProperty("qpid.subject"));
to check but that just returns a null string
Funnily enough if I Google getStringProperty("qpid.subject") I get nothing,
but if I Google setStringProperty("qp
Thanks again Gordon - once again you come up trumps!
Out of curiosity is there a reason why the Perl wrapper is via svn and not
on the main trunk - I see dotnet, ruby and python there, but not perl.
BTW I'd like to say how much I appreciate your helpful - and scarily quick -
responses. Your prol
Many thanks Gordon. I'll give that a go over the weekend.
Gordon Sim wrote:
>
>
> You can create a receiver/message consumer with address
> qmf.default.topic/agent.ind.event.org_apache_qpid_broker.#
>
> The messages you receive on that will be amqp-list formatted messages
> (from JMS you wo
Hello,
can anyone suggest the best approach for interfacing with Perl?
Clearly Qpid has a good many language binding, but Perl doesn't appear to be
one of them. Unfortunately one of our customers are primarily Perl based -
isn't that always the way :-)
I came across an old unmaintained Perl libra
Hello all,
I'd like to write a client that connects to the c++ broker and
asynchronously gets notified of other connection attempts being made to the
broker.
The idea is that this client can write audit logs that shows info about
connections IP address, queues, bindings, connection time etc.
I'm
esult with a tx size of
2. As I say above even with 50K messages I'm still getting 314 messages per
second with Java client and C++ broker and tx size of 1 (I'm running clients
and broker on the same box, so I'd expect it to be even faster if I ran my
clients on a separate box).
Hi again,
This still seems to be blowing up on me I'm afraid
Given the last bit of advice from Gordon Sim (thanks for all your help so
far Gordon!!) I tried:
qpidd --default-queue-limit 0
Then I added my queue:
qpid-config add queue myqueue --durable --max-queue-count 5 --file-size
5000
ueue that behaves as a
ring buffer (of roughly the size of the queue as opposed to the
default-queue-limit size)
MTIA
fadams
--
View this message in context:
http://apache-qpid-users.2158936.n2.nabble.com/Is-it-possible-to-have-persistent-circular-queues-tp6158613p6166830.html
Sent from
handleContentIndicator ClassKey name = org.apache.qpid.broker.queue
queues size 1
queueID 0-58-1-0-452
qname TempQueue33822ecd-dbe7-4f5e-9cfc-fdf74b29df26
It feels like I'm on a losing battle.
Does anyone have any thoughts - my "bit of fun" over the weekend has turned
out anythin
I've been playing with the Headers Exchange and set up a producer client to
send messages to the exchange. I have two properties DataService & ItemOwner
- for my test I sent some messages with ItemOwner=fadams and some with
ItemOwner=jdadams
How I'd intend to use this would
many thanks, I'll have a play with this.
you sir are a gentleman indeed!!
thanks again.
--
View this message in context:
http://apache-qpid-users.2158936.n2.nabble.com/viewing-Headers-Exchange-binding-in-qpid-config-tp6158738p6158843.html
Sent from the Apache Qpid users mailing list archive at N
Many thanks, I'll give that a go.
You're a star - cheers
--
View this message in context:
http://apache-qpid-users.2158936.n2.nabble.com/Is-it-possible-to-have-persistent-circular-queues-tp6158613p6158749.html
Sent from the Apache Qpid users mailing list archive at Nabble.com.
in tool?
thanks
fadams
--
View this message in context:
http://apache-qpid-users.2158936.n2.nabble.com/viewing-Headers-Exchange-binding-in-qpid-config-tp6158738p6158738.html
Sent from the Apache Qpid users mailing list archiv
Thanks that's cool.
Could you please tell me how to achieve it?
I think that it's the limit policy so the things are:
"ring" and "flow-to-disk"'
So I've used flow-to-disk for durable queues but I'm pretty sure that when I
tried both it didn't work (I set it up with qpid-config).
I may have scre
would be great to have a statement to that effect from the dev team.
regards
fadams
--
View this message in context:
http://apache-qpid-users.2158936.n2.nabble.com/Backwards-compatibility-when-AMQP-V1-0-come-online-tp6158663p6158663.html
Sent from t
I know that it's possible to have in memory circular queues by setting the
behaviour to "ring" and it's clearly possible to have persistent/durable
queues but is it possible to make a durable queue circular?
Under the hood the persistence layer is clearly a circular buffer, but it
doesn't appear t
If it is it would be really good to have some documentation to that effect
in the Java subsection as the default behaviour is likely to result in
significant message loss in an exception scenario and the "sync_persistence"
approach really slowsss things down.
MTIA
fadams
This isn't really the behaviour I'd expect from
a message selector.
MTIA
fadams
--
View this message in context:
http://apache-qpid-users.2158936.n2.nabble.com/JMS-Message-Selectors-Behaving-Strangely-tp6158445p6158445.html
Sent from the Apache
76 matches
Mail list logo