You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2013/04/22 10:56:00 UTC
svn commit: r1470413 - in
/sling/trunk/contrib/extensions/discovery/api/src/main/java/org/apache/sling/discovery:
./ impl/
Author: cziegeler
Date: Mon Apr 22 08:56:00 2013
New Revision: 1470413
URL: http://svn.apache.org/r1470413
Log:
Rename DiscoveryAware to TopologyEventListener
Added:
sling/trunk/contrib/extensions/discovery/api/src/main/java/org/apache/sling/discovery/TopologyEventListener.java
- copied, changed from r1470409, sling/trunk/contrib/extensions/discovery/api/src/main/java/org/apache/sling/discovery/DiscoveryAware.java
Removed:
sling/trunk/contrib/extensions/discovery/api/src/main/java/org/apache/sling/discovery/DiscoveryAware.java
Modified:
sling/trunk/contrib/extensions/discovery/api/src/main/java/org/apache/sling/discovery/DiscoveryService.java
sling/trunk/contrib/extensions/discovery/api/src/main/java/org/apache/sling/discovery/InstanceDescription.java
sling/trunk/contrib/extensions/discovery/api/src/main/java/org/apache/sling/discovery/TopologyEvent.java
sling/trunk/contrib/extensions/discovery/api/src/main/java/org/apache/sling/discovery/impl/NoClusterDiscoveryService.java
Modified: sling/trunk/contrib/extensions/discovery/api/src/main/java/org/apache/sling/discovery/DiscoveryService.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/discovery/api/src/main/java/org/apache/sling/discovery/DiscoveryService.java?rev=1470413&r1=1470412&r2=1470413&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/discovery/api/src/main/java/org/apache/sling/discovery/DiscoveryService.java (original)
+++ sling/trunk/contrib/extensions/discovery/api/src/main/java/org/apache/sling/discovery/DiscoveryService.java Mon Apr 22 08:56:00 2013
@@ -36,9 +36,9 @@ public interface DiscoveryService {
* has noticed a potential change in the topology and is in the process of
* settling the change in the topology (eg with peers, ie voting).
* <p>
- * Note that this call is synchronized with <code>DiscoveryAware.handleTopologyEvent()</code>
- * calls: ie if calls to <code>DiscoveryAware.handleTopologyEvent()</code> are currently
- * ongoing, then the call to this method will block until all <code>DiscoveryAware</code>s
+ * Note that this call is synchronized with <code>TopologyEventListener.handleTopologyEvent()</code>
+ * calls: ie if calls to <code>TopologyEventListener.handleTopologyEvent()</code> are currently
+ * ongoing, then the call to this method will block until all <code>TopologyEventListener</code>s
* have been called. Be careful not to cause deadlock situations.
* <p>
* @return the topology that was last discovered by this service. This will never
Modified: sling/trunk/contrib/extensions/discovery/api/src/main/java/org/apache/sling/discovery/InstanceDescription.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/discovery/api/src/main/java/org/apache/sling/discovery/InstanceDescription.java?rev=1470413&r1=1470412&r2=1470413&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/discovery/api/src/main/java/org/apache/sling/discovery/InstanceDescription.java (original)
+++ sling/trunk/contrib/extensions/discovery/api/src/main/java/org/apache/sling/discovery/InstanceDescription.java Mon Apr 22 08:56:00 2013
@@ -68,7 +68,7 @@ public interface InstanceDescription {
* Only one instance of a cluster is guaranteed to be the leader at any time.
* This guarantee is provided by this service.
* If the leader goes down, the service elects a new leader and announces it to
- * DiscoveryAware listeners.
+ * TopologyEventListener listeners.
* @return true if this instance is the - only - leader in this cluster,
* false if it is one of the slaves, or true if it is not at all part of a cluster
*/
Modified: sling/trunk/contrib/extensions/discovery/api/src/main/java/org/apache/sling/discovery/TopologyEvent.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/discovery/api/src/main/java/org/apache/sling/discovery/TopologyEvent.java?rev=1470413&r1=1470412&r2=1470413&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/discovery/api/src/main/java/org/apache/sling/discovery/TopologyEvent.java (original)
+++ sling/trunk/contrib/extensions/discovery/api/src/main/java/org/apache/sling/discovery/TopologyEvent.java Mon Apr 22 08:56:00 2013
@@ -23,7 +23,7 @@ package org.apache.sling.discovery;
*
* This event object might be extended in the future with new event types
* and methods.
- * @see DiscoveryAware
+ * @see TopologyEventListener
*/
public class TopologyEvent {
Copied: sling/trunk/contrib/extensions/discovery/api/src/main/java/org/apache/sling/discovery/TopologyEventListener.java (from r1470409, sling/trunk/contrib/extensions/discovery/api/src/main/java/org/apache/sling/discovery/DiscoveryAware.java)
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/discovery/api/src/main/java/org/apache/sling/discovery/TopologyEventListener.java?p2=sling/trunk/contrib/extensions/discovery/api/src/main/java/org/apache/sling/discovery/TopologyEventListener.java&p1=sling/trunk/contrib/extensions/discovery/api/src/main/java/org/apache/sling/discovery/DiscoveryAware.java&r1=1470409&r2=1470413&rev=1470413&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/discovery/api/src/main/java/org/apache/sling/discovery/DiscoveryAware.java (original)
+++ sling/trunk/contrib/extensions/discovery/api/src/main/java/org/apache/sling/discovery/TopologyEventListener.java Mon Apr 22 08:56:00 2013
@@ -19,14 +19,13 @@
package org.apache.sling.discovery;
/**
- * The <code>DiscoveryAware</code> service interface may be implemented by
- * components interested in being made aware of the cluster state or changes
- * thereof.
+ * The <code>TopologyEventListener</code> service interface may be implemented by
+ * components interested in being made aware of changes in the topology.
* <p>
* Upon registration and whenever changes in the topology occur, this
* service is informed.
*/
-public interface DiscoveryAware {
+public interface TopologyEventListener {
/**
* Inform the service about an event in the topology - or in the discovery
@@ -35,7 +34,7 @@ public interface DiscoveryAware {
* The <code>TopologyEvent</code> contains details about what changed.
* The supported event types are:
* <ul>
- * <li><code>TOPOLOGY_INIT</code> sent when the <code>DiscoveryAware</code>
+ * <li><code>TOPOLOGY_INIT</code> sent when the <code>TopologyEventListener</code>
* was first bound to the discovery service - represents the initial state
* of the topology at that time.</li>
* <li><code>TOPOLOGY_CHANGING</code> sent when the discovery service
Modified: sling/trunk/contrib/extensions/discovery/api/src/main/java/org/apache/sling/discovery/impl/NoClusterDiscoveryService.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/discovery/api/src/main/java/org/apache/sling/discovery/impl/NoClusterDiscoveryService.java?rev=1470413&r1=1470412&r2=1470413&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/discovery/api/src/main/java/org/apache/sling/discovery/impl/NoClusterDiscoveryService.java (original)
+++ sling/trunk/contrib/extensions/discovery/api/src/main/java/org/apache/sling/discovery/impl/NoClusterDiscoveryService.java Mon Apr 22 08:56:00 2013
@@ -39,13 +39,13 @@ import org.apache.felix.scr.annotations.
import org.apache.felix.scr.annotations.ReferencePolicy;
import org.apache.felix.scr.annotations.Service;
import org.apache.sling.discovery.ClusterView;
-import org.apache.sling.discovery.DiscoveryAware;
import org.apache.sling.discovery.DiscoveryService;
import org.apache.sling.discovery.InstanceDescription;
import org.apache.sling.discovery.InstanceFilter;
import org.apache.sling.discovery.PropertyProvider;
import org.apache.sling.discovery.TopologyEvent;
import org.apache.sling.discovery.TopologyEvent.Type;
+import org.apache.sling.discovery.TopologyEventListener;
import org.apache.sling.discovery.TopologyView;
import org.apache.sling.settings.SlingSettingsService;
import org.osgi.framework.Constants;
@@ -53,8 +53,9 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
- * This is a simple implementation of the cluster service
- * which can be used for a cluster less installation.
+ * This is a simple implementation of the discovery service
+ * which can be used for a cluster less installation (= single instance).
+ * It is disabled by default and can be enabled through a OSGi configuration.
*/
@Component(policy = ConfigurationPolicy.REQUIRE, immediate=true)
@Service(value = {DiscoveryService.class})
@@ -70,10 +71,10 @@ public class NoClusterDiscoveryService i
private SlingSettingsService settingsService;
/**
- * All cluster aware instances.
+ * All topology event listeners.
*/
@Reference(cardinality = ReferenceCardinality.OPTIONAL_MULTIPLE, policy = ReferencePolicy.DYNAMIC)
- private DiscoveryAware[] clusterAwares = new DiscoveryAware[0];
+ private TopologyEventListener[] listeners = new TopologyEventListener[0];
/**
* All property providers.
@@ -138,9 +139,9 @@ public class NoClusterDiscoveryService i
final Set<InstanceDescription> instances = new HashSet<InstanceDescription>();
instances.add(myDescription);
- final DiscoveryAware[] registeredServices;
+ final TopologyEventListener[] registeredServices;
synchronized ( lock ) {
- registeredServices = this.clusterAwares;
+ registeredServices = this.listeners;
final ClusterView clusterView = new ClusterView() {
public InstanceDescription getLeader() {
@@ -188,7 +189,7 @@ public class NoClusterDiscoveryService i
};
}
- for(final DiscoveryAware da: registeredServices) {
+ for(final TopologyEventListener da: registeredServices) {
da.handleTopologyEvent(new TopologyEvent(Type.TOPOLOGY_INIT, null, topologyView));
}
}
@@ -209,7 +210,7 @@ public class NoClusterDiscoveryService i
private void bindPropertyProvider(final PropertyProvider propertyProvider, final Map<String, Object> props) {
logger.debug("bindPropertyProvider: Binding PropertyProvider {}", propertyProvider);
- final DiscoveryAware[] awares;
+ final TopologyEventListener[] awares;
synchronized (lock) {
final ProviderInfo info = new ProviderInfo(propertyProvider, props);
this.providerInfos.add(info);
@@ -218,11 +219,11 @@ public class NoClusterDiscoveryService i
if ( this.topologyView == null ) {
awares = null;
} else {
- awares = this.clusterAwares;
+ awares = this.listeners;
}
}
if ( awares != null ) {
- for(final DiscoveryAware da : awares) {
+ for(final TopologyEventListener da : awares) {
da.handleTopologyEvent(new TopologyEvent(Type.PROPERTIES_CHANGED, this.topologyView, this.topologyView));
}
}
@@ -256,7 +257,7 @@ public class NoClusterDiscoveryService i
final boolean inform) {
logger.debug("unbindPropertyProvider: Releasing PropertyProvider {}", propertyProvider);
- final DiscoveryAware[] awares;
+ final TopologyEventListener[] awares;
synchronized (lock) {
final ProviderInfo info = new ProviderInfo(propertyProvider, props);
this.providerInfos.remove(info);
@@ -264,11 +265,11 @@ public class NoClusterDiscoveryService i
if ( this.topologyView == null ) {
awares = null;
} else {
- awares = this.clusterAwares;
+ awares = this.listeners;
}
}
if ( inform && awares != null ) {
- for(final DiscoveryAware da : awares) {
+ for(final TopologyEventListener da : awares) {
da.handleTopologyEvent(new TopologyEvent(Type.PROPERTIES_CHANGED, this.topologyView, this.topologyView));
}
}
@@ -286,16 +287,16 @@ public class NoClusterDiscoveryService i
}
@SuppressWarnings("unused")
- private void bindDiscoveryAware(final DiscoveryAware clusterAware) {
+ private void bindTopologyEventListener(final TopologyEventListener clusterAware) {
- logger.debug("bindDiscoveryAware: Binding DiscoveryAware {}", clusterAware);
+ logger.debug("bindTopologyEventListener: Binding TopologyEventListener {}", clusterAware);
boolean inform = true;
synchronized (lock) {
- List<DiscoveryAware> currentList = new ArrayList<DiscoveryAware>(
- Arrays.asList(clusterAwares));
+ List<TopologyEventListener> currentList = new ArrayList<TopologyEventListener>(
+ Arrays.asList(listeners));
currentList.add(clusterAware);
- this.clusterAwares = currentList.toArray(new DiscoveryAware[currentList.size()]);
+ this.listeners = currentList.toArray(new TopologyEventListener[currentList.size()]);
if ( this.topologyView == null ) {
inform = false;
}
@@ -307,15 +308,15 @@ public class NoClusterDiscoveryService i
}
@SuppressWarnings("unused")
- private void unbindDiscoveryAware(final DiscoveryAware clusterAware) {
+ private void unbindTopologyEventListener(final TopologyEventListener clusterAware) {
- logger.debug("unbindDiscoveryAware: Releasing DiscoveryAware {}", clusterAware);
+ logger.debug("unbindTopologyEventListener: Releasing TopologyEventListener {}", clusterAware);
synchronized (lock) {
- List<DiscoveryAware> currentList = new ArrayList<DiscoveryAware>(
- Arrays.asList(clusterAwares));
+ List<TopologyEventListener> currentList = new ArrayList<TopologyEventListener>(
+ Arrays.asList(listeners));
currentList.remove(clusterAware);
- this.clusterAwares = currentList.toArray(new DiscoveryAware[currentList.size()]);
+ this.listeners = currentList.toArray(new TopologyEventListener[currentList.size()]);
}
}