You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by st...@apache.org on 2013/08/05 10:58:01 UTC
svn commit: r1510397 - in /sling/trunk/bundles/extensions/discovery/impl:
pom.xml
src/main/java/org/apache/sling/discovery/impl/common/heartbeat/HeartbeatHandler.java
Author: stefanegli
Date: Mon Aug 5 08:58:01 2013
New Revision: 1510397
URL: http://svn.apache.org/r1510397
Log:
SLING-2968 : issue remote heartbeat calls only after startup has finished - using startuplistener for that. RTC not needed. only added launchpad.api dependency to pom.xml.
Modified:
sling/trunk/bundles/extensions/discovery/impl/pom.xml
sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/common/heartbeat/HeartbeatHandler.java
Modified: sling/trunk/bundles/extensions/discovery/impl/pom.xml
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/discovery/impl/pom.xml?rev=1510397&r1=1510396&r2=1510397&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/discovery/impl/pom.xml (original)
+++ sling/trunk/bundles/extensions/discovery/impl/pom.xml Mon Aug 5 08:58:01 2013
@@ -185,5 +185,11 @@
<version>1.0.2</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>org.apache.sling.launchpad.api</artifactId>
+ <version>1.1.0</version>
+ <type>bundle</type>
+ </dependency>
</dependencies>
</project>
Modified: sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/common/heartbeat/HeartbeatHandler.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/common/heartbeat/HeartbeatHandler.java?rev=1510397&r1=1510396&r2=1510397&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/common/heartbeat/HeartbeatHandler.java (original)
+++ sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/common/heartbeat/HeartbeatHandler.java Mon Aug 5 08:58:01 2013
@@ -46,6 +46,8 @@ import org.apache.sling.discovery.impl.c
import org.apache.sling.discovery.impl.common.resource.ResourceHelper;
import org.apache.sling.discovery.impl.topology.announcement.AnnouncementRegistry;
import org.apache.sling.discovery.impl.topology.connector.ConnectorRegistry;
+import org.apache.sling.launchpad.api.StartupListener;
+import org.apache.sling.launchpad.api.StartupMode;
import org.apache.sling.settings.SlingSettingsService;
import org.osgi.framework.BundleException;
import org.osgi.service.component.ComponentContext;
@@ -60,8 +62,8 @@ import org.slf4j.LoggerFactory;
* remote TopologyConnectorServlets.
*/
@Component
-@Service(value = { HeartbeatHandler.class })
-public class HeartbeatHandler implements Runnable {
+@Service(value = { HeartbeatHandler.class, StartupListener.class })
+public class HeartbeatHandler implements Runnable, StartupListener {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
@@ -119,6 +121,26 @@ public class HeartbeatHandler implements
/** keep a reference to the component context **/
private ComponentContext context;
+ /** SLING-2968 : start issuing remote heartbeats only after startup finished **/
+ private boolean startupFinished = false;
+
+ public void inform(StartupMode mode, boolean finished) {
+ if (finished) {
+ startupFinished(mode);
+ }
+ }
+
+ public void startupFinished(StartupMode mode) {
+ synchronized(lock) {
+ startupFinished = true;
+ issueHeartbeat();
+ }
+ }
+
+ public void startupProgress(float ratio) {
+ // we dont care
+ }
+
@Activate
protected void activate(ComponentContext context) {
synchronized(lock) {
@@ -237,6 +259,10 @@ public class HeartbeatHandler implements
logger.error("issueRemoteHeartbeats: connectorRegistry is null");
return;
}
+ if (!startupFinished) {
+ logger.debug("issueRemoteHeartbeats: not issuing remote heartbeat yet, startup not yet finished");
+ return;
+ }
connectorRegistry.pingOutgoingConnectors();
}