activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From RakeshRay <Rakesh....@Proquest.com>
Subject Re: Queue does not drain completely.
Date Thu, 02 Jul 2009 13:28:49 GMT


Hi, 
We have written a wrapper around and internally it is using using timeout
feature.
What version of Active MQ are you using?

sub read {
	my ($self) = @_;
	# after reading, we also need to acknoledge the read, but keep them both as
part of the same transaction
	
	# still need to define a way of signalling errors vs nothing to read
	
	return unless $self->{stomp}->can_read({ timeout => '5' });
	
	my $frame = $self->{stomp}->receive_frame;

	return unless $frame;
	
	my $msg = $frame->body;
	my $msgid = $frame->headers->{'message-id'};

	# sending an ACK with the message id and a transaction makes the read part
of the transaction	
	$frame = Net::Stomp::Frame->new( {
		command => 'ACK',
		headers => { transaction => $self->_tran(), 'message-id' => $msgid },
	} );
    $self->{stomp}->send_frame($frame);

	return $msg;	
}




mjustin wrote:
> 
> I don't know the PHP Stomp client very well (but a Delphi implementation).
> 
> $stomp->read() seems to return immediately without waiting for the next
> message.
> There might be a different method $stomp->read(receivetimeout), which
> waits for the given time (in milliseconds) before it gives up.
> 
> Michael
> 
> 
> RakeshRay wrote:
>> 
>> Just installed Active MQ 5.2. 
>> Using Stomp, inserted 5000 msgs and try to read the same with 
>> while ( my $msg = $stomp->read() ) {
>> 	$stomp->commit();
>> 	print $msg.$/;
>> }
>> It leaves 2 messages in the queue, just reads 4998 and comes out.
>> 
>> Any suggestions?
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Queue-does-not-drain-completely.-tp24296039p24306748.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Mime
View raw message