You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by Kolton <ka...@mshare.net> on 2008/07/23 01:42:09 UTC
Multicast Discovery Agent Notifier
Hey all,
Question regarding the daemon thread "Multicast Discovery Agent
Notifier". I've spent a fair amount of time searching for a similar issue
and looking through the source, so my apologies if this is a waste of time.
I'm running Tomcat 2.2.26 with a Broker started via Spring using ActiveMQ
4.1.2. Every time I execute this block of code:
public String getMasterBrokerURL() {
String brokerURL = "";
try {
ActiveMQConnection connection = ((ActiveMQConnection)
getConnectionFactory().createConnection());
connection.start();
if (connection.getBrokerInfo() != null) {
brokerURL = connection.getBrokerInfo().getBrokerURL();
}
connection.cleanup();
connection.close();
} catch (JMSException e) {
// logging
} catch( Throwable t){
// catch anything odd
}
return brokerURL;
}
I end up with about 3 more Daemon Threads named "Multicast Discovery Agent
Notifier". These don't appear to go away, and eventually cause a leak in
Tomcat resulting in OOM Exceptions.
Connection factory configured as follows:
<!-- JMS Admin Service Connection -->
<bean id="jmsStatusConnectionFactory"
class="org.apache.activemq.ActiveMQConnectionFactory">
<!-- User Name <constructor-arg ></constructor-arg>-->
<!-- Password <constructor-arg></constructor-arg>-->
<constructor-arg
value="discovery:(multicast://default)?trace=true&wireFormat.maxInactivityDuration=5000&jms.closeTimeout=5000&wireFormat.soTimeout=5000"></constructor-arg>
</bean>
I have added the extra parameters to the URI for debugging/testing purposes.
I get this same behavior if I create it using only
"discovery:(multicast://default)".
Broker transport/network connectors (if useful):
<transportConnectors>
<transportConnector brokerName="msBroker" name="openwire"
discoveryUri="multicast://default" uri="tcp://localhost:61616"/>
</transportConnectors>
<networkConnectors>
<networkConnector brokerName="msBroker" name="msNetworkConnetor"
networkTTL="10" failover="true" uri="multicast://default"/>
</networkConnectors>
First question, is this an obviously bad way to find out who is currently
the master broker for some reason I'm missing?
Second question, am I not cleaning something up/misusing something that
results in this leak?
Or is there something more here?
Any help is greatly appreciated!
Thanks,
Kolton
--
View this message in context: http://www.nabble.com/Multicast-Discovery-Agent-Notifier-tp18601154p18601154.html
Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.