You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Jiang <zj...@163.com> on 2007/06/11 08:55:22 UTC

UDP buffer problem

I config UDP in activemq.xml to use udp transport. But When I register 20
consumer and 1 producer in one destination, I find if I send several
messages , broker will throw: "Request for buffer xx is no longer present"
in console . After I view the udp code , I think maybe it is caused by the
udp buffer size( default 50 ) , what I think is correct ? How can I use code
to change the default size or maybe it can changed through activemq.xml ?
(When connection is created by connectionfactory I don't find how to change
the udp transport buffer size )
-- 
View this message in context: http://www.nabble.com/UDP-buffer-problem-tf3899903s2354.html#a11055860
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: UDP buffer problem

Posted by James Strachan <ja...@gmail.com>.
On 6/22/07, Tom Samplonius <to...@samplonius.org> wrote:
>
> ----- "James Strachan" <ja...@gmail.com> wrote:
>
> > So we need a working reliable layer on top of UDP which is capable of
> > handling re-requests of missing packets etc. The current code is work
> ...
>
>   I think that is called TCP.  Why UDP at all?  Is this for multicasting?  Otherwise, I can't see any reason why not to use TCP?

For reliable multicast; some folks want to use that. But I agree, for
most things TCP is the best choice.

-- 
James
-------
http://macstrac.blogspot.com/

Re: UDP buffer problem

Posted by Tom Samplonius <to...@samplonius.org>.
----- "James Strachan" <ja...@gmail.com> wrote:

> So we need a working reliable layer on top of UDP which is capable of
> handling re-requests of missing packets etc. The current code is work
...

  I think that is called TCP.  Why UDP at all?  Is this for multicasting?  Otherwise, I can't see any reason why not to use TCP?

  Redelivery of missed packets when multicasting is fairly onerous area.


Tom

Re: UDP buffer problem

Posted by James Strachan <ja...@gmail.com>.
UDP is unreliable; whatever the buffer size is, messages can still get
discarded if a client doesn't process them fast enough etc.

So we need a working reliable layer on top of UDP which is capable of
handling re-requests of missing packets etc. The current code is work
in progress; which nearly works, but requires some more work - feel
free to work on it, we welcome patches!

http://activemq.apache.org/contributing.html

On 6/21/07, Jiang <zj...@163.com> wrote:
>
> I still not find the correct way to resolve this problem. I have changed the
> replayBufferCommandCount to 1000 and compiled the source code . Then I
> replaced the ReliableTransport.class in the lib. But when I run the client,
> it was the same.  "Request for buffer xx is no longer present" in eclipse
> console and in windows cmd console it throw "duplicate message be
> discarded".
> Why ? Any one can give some help? Thanks
>
> Jiang wrote:
> >
> > I config UDP in activemq.xml to use udp transport. But When I register 20
> > consumer and 1 producer in one destination, I find if I send several
> > messages , broker will throw: "Request for buffer xx is no longer present"
> > in console . After I view the udp code , I think maybe it is caused by the
> > udp buffer size( default 50 ) , what I think is correct ? How can I use
> > code to change the default size or maybe it can changed through
> > activemq.xml ? (When connection is created by connectionfactory I don't
> > find how to change the udp transport buffer size )
> >
>
> --
> View this message in context: http://www.nabble.com/UDP-buffer-problem-tf3899903s2354.html#a11225458
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
>


-- 
James
-------
http://macstrac.blogspot.com/

Re: UDP buffer problem

Posted by Jiang <zj...@163.com>.
I still not find the correct way to resolve this problem. I have changed the
replayBufferCommandCount to 1000 and compiled the source code . Then I
replaced the ReliableTransport.class in the lib. But when I run the client,
it was the same.  "Request for buffer xx is no longer present" in eclipse
console and in windows cmd console it throw "duplicate message be
discarded". 
Why ? Any one can give some help? Thanks

Jiang wrote:
> 
> I config UDP in activemq.xml to use udp transport. But When I register 20
> consumer and 1 producer in one destination, I find if I send several
> messages , broker will throw: "Request for buffer xx is no longer present"
> in console . After I view the udp code , I think maybe it is caused by the
> udp buffer size( default 50 ) , what I think is correct ? How can I use
> code to change the default size or maybe it can changed through
> activemq.xml ? (When connection is created by connectionfactory I don't
> find how to change the udp transport buffer size )
> 

-- 
View this message in context: http://www.nabble.com/UDP-buffer-problem-tf3899903s2354.html#a11225458
Sent from the ActiveMQ - User mailing list archive at Nabble.com.