On Mon, 27 Oct, Gordon Sim wrote:
[1] I did a quick test of a 6M message which worked fine. If you don't
have a
store loaded you need to disable the 'staging' mechanism which has a 5M
limit
by default (--staging-threshold 0). I think I'll change that to be the
default as the sending side of this no longer has the desired effect
anyway.
Hi,
I'd like to learn more about staging and using a "store." Could someone
give me a quick primer and/or point to some sample code or documentation?
As an example, I've started the C++ broker (M4-RC3) with all defaults.
I'm not setting the staging-threshold (ie. I take the default 5M). I'm
not using a store because I don't know how to use this (yet). I send a 5M
message and here is how things play out on the consumer/subscriber:
Message producer_msg;
LocalQueue local_my_queue;
.
. // Open connection, session, subscription here
.
producer_msg = local_my_queue.get();
.
.
.
I print out some info about producer_msg and this is what appears:
producer_msg.getMessageProperties().getContentLength()= 5000000
producer_msg.getData().size()= 0
So how would my consumer get that staged 5M content?
Thanks in advance for any info.
Gregory Marsh
On Mon, 27 Oct 2008, Gordon Sim wrote:
Danushka Menikkumbura wrote:
Danushka Menikkumbura wrote:
Does Qpid have a mechanism for sending large date sets in chunks?.
How large is 'large'?
Say 5M?. Anyway it is up to the sender to decide on this. Yeah?
You can send messages pretty much as large as you like; how well the broker
copes is of course a good question (and depends largely on the size of the
message and the memory available).
The c++ broker can handle receiving of such messages without having to store
the whole thing in memory. Unfortunately on the sending side it can no longer
do this and the whole message will be read into memory before its sent off to
a subscriber. For 5M that probably isn't a huge issue though[1].
Maybe someone else can give the latest state on the java broker for this.
AMQP 0-10 also supports sending a large logical messages as a series of
separate transfers. We don't currently implement that feature though. I
created a Jira for that: https://issues.apache.org/jira/browse/QPID-1402
[1] I did a quick test of a 6M message which worked fine. If you don't have a
store loaded you need to disable the 'staging' mechanism which has a 5M limit
by default (--staging-threshold 0). I think I'll change that to be the
default as the sending side of this no longer has the desired effect anyway.