You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2017/11/07 09:28:02 UTC

[sling-org-apache-sling-discovery-oak] 05/10: SLING-5284 : use dedicated PeriodicBackgroundJob-thread instead of scheduler

This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.discovery.oak-1.1.0
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-discovery-oak.git

commit 9c09dd4870cdca17777d1ceb0e4ae9ca76f3025e
Author: Stefan Egli <st...@apache.org>
AuthorDate: Mon Nov 9 16:48:47 2015 +0000

    SLING-5284 : use dedicated PeriodicBackgroundJob-thread instead of scheduler
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/bundles/extensions/discovery/oak@1713477 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml                                              |  4 ++--
 .../sling/discovery/oak/pinger/OakViewChecker.java   | 20 +++++++++++++++-----
 2 files changed, 17 insertions(+), 7 deletions(-)

diff --git a/pom.xml b/pom.xml
index c7dfad8..1761853 100644
--- a/pom.xml
+++ b/pom.xml
@@ -145,7 +145,7 @@
 		<dependency>
 			<groupId>org.apache.sling</groupId>
 			<artifactId>org.apache.sling.discovery.base</artifactId>
-			<version>1.0.3-SNAPSHOT</version>
+			<version>1.1.0-SNAPSHOT</version>
             <scope>provided</scope>
 		</dependency>
         <!-- besides including discovery.base' normal jar above, 
@@ -154,7 +154,7 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.discovery.base</artifactId>
-            <version>1.0.3-SNAPSHOT</version>
+            <version>1.1.0-SNAPSHOT</version>
             <scope>test</scope>
             <type>test-jar</type>
         </dependency>
diff --git a/src/main/java/org/apache/sling/discovery/oak/pinger/OakViewChecker.java b/src/main/java/org/apache/sling/discovery/oak/pinger/OakViewChecker.java
index 1cd73c3..bc1b2ed 100644
--- a/src/main/java/org/apache/sling/discovery/oak/pinger/OakViewChecker.java
+++ b/src/main/java/org/apache/sling/discovery/oak/pinger/OakViewChecker.java
@@ -34,6 +34,7 @@ import org.apache.sling.api.resource.ResourceResolver;
 import org.apache.sling.api.resource.ResourceResolverFactory;
 import org.apache.sling.commons.scheduler.Scheduler;
 import org.apache.sling.discovery.base.commons.BaseViewChecker;
+import org.apache.sling.discovery.base.commons.PeriodicBackgroundJob;
 import org.apache.sling.discovery.base.connectors.BaseConfig;
 import org.apache.sling.discovery.base.connectors.announcement.AnnouncementRegistry;
 import org.apache.sling.discovery.base.connectors.ping.ConnectorRegistry;
@@ -82,6 +83,8 @@ public class OakViewChecker extends BaseViewChecker {
 
     private OakDiscoveryService discoveryService;
 
+    protected PeriodicBackgroundJob periodicCheckViewJob;
+
     /** for testing only **/
     public static OakViewChecker testConstructor(
             SlingSettingsService slingSettingsService,
@@ -145,6 +148,15 @@ public class OakViewChecker extends BaseViewChecker {
     }
     
     @Override
+    protected void deactivate() {
+        super.deactivate();
+        if (periodicCheckViewJob != null) {
+            periodicCheckViewJob.stop();
+            periodicCheckViewJob = null;
+        }
+    }
+
+    @Override
     public void startupFinished(StartupMode mode) {
         super.startupFinished(mode);
         
@@ -174,8 +186,7 @@ public class OakViewChecker extends BaseViewChecker {
         try {
             final long interval = config.getConnectorPingInterval();
             logger.info("initialize: starting periodic connectorPing job for "+slingId+" with interval "+interval+" sec.");
-            scheduler.addPeriodicJob(NAME+".connectorPinger", this,
-                    null, interval, false);
+            periodicPingJob = new PeriodicBackgroundJob(interval, NAME+".connectorPinger", this);
         } catch (Exception e) {
             logger.error("activate: Could not start heartbeat runner: " + e, e);
         }
@@ -190,15 +201,14 @@ public class OakViewChecker extends BaseViewChecker {
         try{
             final long interval = config.getDiscoveryLiteCheckInterval();
             logger.info("initialize: starting periodic discoveryLiteCheck job for "+slingId+" with interval "+interval+" sec.");
-            scheduler.addPeriodicJob(NAME+".discoveryLiteCheck", new Runnable() {
+            periodicCheckViewJob = new PeriodicBackgroundJob(interval, NAME+".discoveryLiteCheck", new Runnable() {
 
                 @Override
                 public void run() {
                     discoveryLiteCheck();
                 }
                 
-            },
-                    null, interval, false);
+            });
         } catch (Exception e) {
             logger.error("activate: Could not start heartbeat runner: " + e, e);
         }

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.