Author: jstrachan
Date: Thu Dec 15 06:13:14 2005
New Revision: 357017
URL: http://svn.apache.org/viewcvs?rev=357017&view=rev
Log:
make the agent more resilient to ordering; whether a service is registered
before starting or started first etc. We seem to have both in our code base
Modified:
incubator/activemq/trunk/activemq-core/src/main/java/org/activemq/transport/discovery/rendezvous/RendezvousDiscoveryAgent.java
Modified:
incubator/activemq/trunk/activemq-core/src/main/java/org/activemq/transport/discovery/rendezvous/RendezvousDiscoveryAgent.java
URL:
http://svn.apache.org/viewcvs/incubator/activemq/trunk/activemq-core/src/main/java/org/activemq/transport/discovery/rendezvous/RendezvousDiscoveryAgent.java?rev=357017&r1=357016&r2=357017&view=diff
==============================================================================
---
incubator/activemq/trunk/activemq-core/src/main/java/org/activemq/transport/discovery/rendezvous/RendezvousDiscoveryAgent.java
(original)
+++
incubator/activemq/trunk/activemq-core/src/main/java/org/activemq/transport/discovery/rendezvous/RendezvousDiscoveryAgent.java
Thu Dec 15 06:13:14 2005
@@ -75,9 +75,8 @@
type += ".";
}
try {
- if (jmdns == null) {
- jmdns = createJmDNS();
- }
+ // force lazy construction
+ getJmdns();
if (listener!=null) {
log.info("Discovering service of type: " +type);
jmdns.addServiceListener(type, this);
@@ -111,12 +110,9 @@
}
public void registerService(String name) throws IOException {
- if (jmdns == null) {
- throw new IllegalStateException("Not started.");
- }
ServiceInfo si = createServiceInfo(name, new HashMap());
serviceInfos.add(si);
- jmdns.registerService(si);
+ getJmdns().registerService(si);
}
@@ -166,7 +162,10 @@
this.weight = weight;
}
- public JmDNS getJmdns() {
+ public JmDNS getJmdns() throws IOException {
+ if (jmdns == null) {
+ jmdns = createJmDNS();
+ }
return jmdns;
}