Skip to content

Commit 69b474a

Browse files
author
Marc Sluiter
committed
some additions and fixes:
- added WiringSender.toString() method for better debugging - changed ttl and update intervals for etcd discovery - use threadsafe collections - added some logging
1 parent 3e054a4 commit 69b474a

File tree

4 files changed

+19
-15
lines changed

4 files changed

+19
-15
lines changed

org.inaetics.wiring/src/org/inaetics/wiring/admin/http/WiringSenderImpl.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,12 @@ public WiringSenderImpl(HttpClientEndpointFactory endpointFactory, HttpAdminConf
2525

2626
@Override
2727
public String sendMessage(String message) throws Exception {
28-
2928
return m_endpointFactory.sendMessage(m_endpoint.getId(), message);
3029
}
3130

31+
@Override
32+
public String toString() {
33+
return "WiringSenderImpl [endpointId=" + m_endpoint.getId() + "]";
34+
}
35+
3236
}

org.inaetics.wiring/src/org/inaetics/wiring/discovery/AbstractDiscovery.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,8 +152,7 @@ public void run() {
152152
}
153153

154154
private boolean isLocalEndpoint(WiringEndpointDescription endpointDescription) {
155-
// return endpointDescription.getZone().equals(m_configuration.getZone())
156-
// && endpointDescription.getNode().equals(m_configuration.getNode());
155+
//todo check framework uuid?!
157156
return false;
158157
}
159158

org.inaetics.wiring/src/org/inaetics/wiring/discovery/etcd/EtcdNodeDiscovery.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -314,13 +314,13 @@ private String getEndpointPath(WiringEndpointDescription endpoint) {
314314

315315
private class EtcdRegistrationUpdater implements Runnable {
316316

317-
private static final int ETCD_REGISTRATION_TTL = 60;
317+
private static final int ETCD_REGISTRATION_TTL = 30;
318318

319319
private final ScheduledFuture<?> m_future;
320320

321321
public EtcdRegistrationUpdater() throws Exception {
322322
m_future =
323-
m_executor.scheduleAtFixedRate(this, 0, ETCD_REGISTRATION_TTL - 5,
323+
m_executor.scheduleAtFixedRate(this, 0, ETCD_REGISTRATION_TTL - 10,
324324
TimeUnit.SECONDS);
325325
}
326326

org.inaetics.wiring/src/org/inaetics/wiring/topology/promiscuous/PromiscuousTopologyManager.java

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,14 @@
33
*/
44
package org.inaetics.wiring.topology.promiscuous;
55

6-
import java.util.ArrayList;
76
import java.util.Collection;
87
import java.util.Collections;
98
import java.util.Dictionary;
109
import java.util.HashMap;
11-
import java.util.HashSet;
1210
import java.util.Hashtable;
13-
import java.util.List;
1411
import java.util.Map;
1512
import java.util.Set;
13+
import java.util.concurrent.ConcurrentHashMap;
1614

1715
import org.apache.felix.dm.Component;
1816
import org.apache.felix.dm.DependencyManager;
@@ -32,7 +30,6 @@
3230
import org.inaetics.wiring.endpoint.WiringTopologyManager;
3331
import org.osgi.framework.BundleContext;
3432
import org.osgi.framework.ServiceReference;
35-
import org.osgi.framework.ServiceRegistration;
3633
import org.osgi.service.cm.ConfigurationException;
3734
import org.osgi.service.cm.ManagedService;
3835

@@ -47,17 +44,18 @@ public final class PromiscuousTopologyManager extends AbstractWiringEndpointPubl
4744

4845
public final static String SERVICE_PID = "org.amdatu.remote.topology.promiscuous";
4946

50-
private final Set<WiringReceiver> m_exportableReceivers = Collections.newSetFromMap(new HashMap<WiringReceiver, Boolean>());
47+
private final Set<WiringReceiver> m_exportableReceivers = Collections.newSetFromMap(new ConcurrentHashMap<WiringReceiver, Boolean>());
5148
private final Map<WiringReceiver, Map<WiringAdmin, ExportRegistration>> m_exportedReceivers =
52-
new HashMap<WiringReceiver, Map<WiringAdmin, ExportRegistration>>();
49+
new ConcurrentHashMap<WiringReceiver, Map<WiringAdmin, ExportRegistration>>();
5350

54-
private final Set<WiringEndpointDescription> m_importableEndpoints = new HashSet<WiringEndpointDescription>();
51+
private final Set<WiringEndpointDescription> m_importableEndpoints = Collections.newSetFromMap(new ConcurrentHashMap<WiringEndpointDescription, Boolean>());
5552
private final Map<WiringEndpointDescription, Map<WiringAdmin, ImportRegistration>> m_importedEndpoints =
56-
new HashMap<WiringEndpointDescription, Map<WiringAdmin, ImportRegistration>>();
53+
new ConcurrentHashMap<WiringEndpointDescription, Map<WiringAdmin, ImportRegistration>>();
54+
5755
private final Map<ImportRegistration, Component> m_registeredSenders =
58-
new HashMap<ImportRegistration, Component>();
56+
new ConcurrentHashMap<ImportRegistration, Component>();
5957

60-
private final List<WiringAdmin> m_wiringAdmins = new ArrayList<WiringAdmin>();
58+
private final Set<WiringAdmin> m_wiringAdmins = Collections.newSetFromMap(new ConcurrentHashMap<WiringAdmin, Boolean>());
6159

6260
private volatile BundleContext m_context;
6361

@@ -267,6 +265,7 @@ private void unImportEndpoints(WiringAdmin admin) {
267265
}
268266

269267
private void unImportEndpoint(WiringEndpointDescription endpointDescription) {
268+
logInfo("unimport wiring endpoint %s", endpointDescription.getId());
270269
m_importableEndpoints.remove(endpointDescription);
271270
Map<WiringAdmin, ImportRegistration> adminMap = m_importedEndpoints.remove(endpointDescription);
272271
Collection<ImportRegistration> registrations = adminMap.values();
@@ -276,12 +275,14 @@ private void unImportEndpoint(WiringEndpointDescription endpointDescription) {
276275
}
277276

278277
private void unImportEndpoint(ImportRegistration registration) {
278+
logInfo("unimport registration %s", registration.getImportReference().getEndpointDescription().getId());
279279
unregisterService(registration);
280280
registration.close();
281281
}
282282

283283
private void unregisterService(ImportRegistration registration) {
284284
Component component = m_registeredSenders.get(registration);
285+
logInfo("unregistering WiringsSender %s", component.getService());
285286
m_manager.remove(component);
286287
m_registeredSenders.remove(registration);
287288
}

0 commit comments

Comments
 (0)