private void doSync(String resource, Group group) throws Exception { // looking for the resource synchronizer System.out.print("\t" + resource + ": "); ServiceReference[] references = bundleContext.getAllServiceReferences(Synchronizer.class.getName(), "(resource=" + resource + ")"); if (references != null && references.length > 0) { for (ServiceReference reference : references) { Synchronizer synchronizer = (Synchronizer) bundleContext.getService(reference); synchronizer.sync(group); bundleContext.ungetService(reference); } System.out.println("done"); } else { System.out.println("No synchronizer found for " + resource); } }
@Override public void sync() throws Exception { Set<Group> localGroups = groupManager.listLocalGroups(); for (Group group : localGroups) { try { ServiceReference[] serviceReferences = bundleContext.getAllServiceReferences("org.apache.karaf.cellar.core.Synchronizer", null); if (serviceReferences != null && serviceReferences.length > 0) { for (ServiceReference ref : serviceReferences) { Synchronizer synchronizer = (Synchronizer) bundleContext.getService(ref); synchronizer.sync(group); bundleContext.ungetService(ref); } } } catch (InvalidSyntaxException e) { // ignore } } }
@Override public void sync() throws Exception { Set<Group> localGroups = groupManager.listLocalGroups(); for (Group group : localGroups) { try { ServiceReference[] serviceReferences = bundleContext.getAllServiceReferences("org.apache.karaf.cellar.core.Synchronizer", null); if (serviceReferences != null && serviceReferences.length > 0) { for (ServiceReference ref : serviceReferences) { Synchronizer synchronizer = (Synchronizer) bundleContext.getService(ref); synchronizer.sync(group); bundleContext.ungetService(ref); } } } catch (InvalidSyntaxException e) { // ignore } } }
@Override public void memberAdded(MembershipEvent membershipEvent) { Member member = membershipEvent.getMember(); try { Member local = instance.getCluster().getLocalMember(); if (local.equals(member) && synchronizers != null && !synchronizers.isEmpty()) { Set<Group> groups = groupManager.listLocalGroups(); if (groups != null && !groups.isEmpty()) { for (Group group : groups) { for (Synchronizer synchronizer : synchronizers) { synchronizer.sync(group); } } } } } catch (Exception e) { LOGGER.warn("Error while calling memberAdded", e); } }
@Override public void memberAdded(MembershipEvent membershipEvent) { Member member = membershipEvent.getMember(); try { Member local = instance.getCluster().getLocalMember(); if (local.equals(member) && synchronizers != null && !synchronizers.isEmpty()) { Set<Group> groups = groupManager.listLocalGroups(); if (groups != null && !groups.isEmpty()) { for (Group group : groups) { for (Synchronizer synchronizer : synchronizers) { synchronizer.sync(group); } } } } } catch (Exception e) { LOGGER.warn("Error while calling memberAdded", e); } }
Synchronizer synchronizer = (Synchronizer) bundleContext.getService(ref); if (synchronizer != null) { synchronizer.sync(group);
Synchronizer synchronizer = (Synchronizer) bundleContext.getService(ref); if (synchronizer != null) { synchronizer.sync(group);