activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "A. Gregory Rabil" <greg.ra...@ins.com>
Subject Re: QueueBrowser with Network of Brokers
Date Mon, 02 Mar 2009 17:22:05 GMT

I am seeing this same problem in AMQ 4.1.1 and 4.1.2.  Is there any
resolution to this issue?

Regards,
Greg Rabil


AlB wrote:
> 
> I have a network of 3 brokers using 4.0.1 where the maximum hop is 1 (a
> star configuration, a-b-c, where messages travel from a to b or b to c via
> the same queue.) Messages are not transacted by either the publishers or
> the consumer.
> 
> I see this error frequently. Sometimes the error will happen at startup,
> or during the transmition of thousands of messages, or when a message
> hasn't gone through in hours (and tens of thousands were earlier
> successfully transmitted). Once it happens, subsequent messages remain on
> the queue on the broker where the publisher is local (as seen by hermes). 
> 
> I have not been able to determine a specific action that causes this to
> happen.
> 
> The only thing that seems to make the system work is to restart the
> brokers on all three machines. However, the error usually reoccurs within
> 0-12 hours.
> 
> Are there configuration options that can be used to avoid this error?
> 
> Here are the network specs:
> 
> system B:
>     <networkConnector conduitSubscriptions="false" dynamicOnly="false"
> failover="true" name="pickling" networkTTL="3"
> uri="static:(ssl://192.168.131.64:61817)"/>
> <networkConnector conduitSubscriptions="false" dynamicOnly="false"
> failover="true" name="pez" networkTTL="3"
> uri="static:(ssl://192.168.86.155:61817)"/>
> </networkConnectors>
> 
> System A/C:
>     <networkConnector conduitSubscriptions="false" dynamicOnly="false"
> failover="true" name="jolt" networkTTL="3"
> uri="static:(ssl://192.168.86.156:61817)"/>
> 
> 
> davem wrote:
>> 
>> Here is the stack trace:
>> 
>> java.lang.NullPointerException
>>         at
>> org.apache.activemq.network.DemandForwardingBridgeSupport.configureMessage(DemandForwardingBridgeSupport.java:465)
>>         at
>> org.apache.activemq.network.DemandForwardingBridgeSupport.serviceLocalCommand(DemandForwardingBridgeSupport.java:486)
>>         at
>> org.apache.activemq.network.DemandForwardingBridgeSupport$1.onCommand(DemandForwardingBridgeSupport.java:121)
>>         at
>> org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:95)
>>         at
>> org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:65)
>>         at
>> org.apache.activemq.transport.vm.VMTransport.syncOneWay(VMTransport.java:96)
>>         at
>> org.apache.activemq.transport.vm.VMTransport.oneWay(VMTransport.java:83)
>>         at
>> org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:43)
>>         at
>> org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:60)
>>         at
>> org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:105)
>>         at
>> org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:772)
>>         at
>> org.apache.activemq.broker.TransportConnection.iterate(TransportConnection.java:788)
>>         at
>> org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:111)
>>         at
>> org.apache.activemq.thread.PooledTaskRunner.access$100(PooledTaskRunner.java:26)
>>         at
>> org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:44)
>>         at
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>>         at
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>>         at java.lang.Thread.run(Thread.java:595)
>> 
>> The "receiver" application has a broker:
>>   <broker brokerName="receiver" persistent="false" useJmx="false">
>>     <transportConnectors>
>>       <transportConnector uri="tcp://localhost:7002"/>
>>     </transportConnectors>
>> 
>>     <networkConnectors>
>>       <networkConnector uri="static:(tcp://localhost:7001)"
>> failover="true"/>
>>     </networkConnectors>
>> 
>>     <persistenceAdapter>
>>       <memoryPersistenceAdapter/>
>>     </persistenceAdapter>
>>   </broker>
>> 
>> The "sender" application has a broker:
>>   <broker brokerName="sender" persistent="false" useJmx="false">
>>     <transportConnectors>
>>       <transportConnector uri="tcp://localhost:7001"/>
>>     </transportConnectors>
>> 
>>     <networkConnectors>
>>       <networkConnector uri="static:(tcp://localhost:7002)"
>> failover="true"/>
>>     </networkConnectors>
>> 
>>     <persistenceAdapter>
>>       <memoryPersistenceAdapter/>
>>     </persistenceAdapter>
>>   </broker>
>> 
>> A third "browser" application uses a connection factory with a url like
>> "tcp://localhost:7002".  If the browser connects to the "receiver"
>> application and creates a QueueBrowser, then that exception is thrown in
>> the "sender" application.
>> 
>> 
>> James.Strachan wrote:
>>> 
>>> On 3/6/07, davem <dmowatt@gmail.com> wrote:
>>>>
>>>> Hello,
>>>>
>>>> Should a QueueBrowser work against a queue in a broker that is part of
>>>> a
>>>> network of brokers in 4.1.0?
>>> 
>>> Sure.
>>> 
>>>>  If I have two brokers in a network (each with
>>>> a static network connector to the other) and I browse a queue on one of
>>>> the
>>>> two, then an INFO message is logged on the other broker that the
>>>> connection
>>>> between the brokers failed and has been recreated.  The cause of the
>>>> failure
>>>> is a NullPointerException from
>>>> DemandForwardingBridgeSupport.configureMessage.
>>> 
>>> Do you have a full stack trace? Sounds like a bug.
>>> 
>>> -- 
>>> 
>>> James
>>> -------
>>> http://radio.weblogs.com/0112098/
>>> 
>>> 
>> 
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/QueueBrowser-with-Network-of-Brokers-tp9335320p22292440.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Mime
View raw message