Fix use try-with-resources sonar issue 73/58673/2
authorParshad Patel <pars.patel@samsung.com>
Thu, 2 Aug 2018 10:37:10 +0000 (19:37 +0900)
committerParshad Patel <pars.patel@samsung.com>
Thu, 2 Aug 2018 11:03:49 +0000 (20:03 +0900)
Fix in DMaaPMRReceiver.java

Issue-ID: DCAEGEN2-658
Change-Id: I1c87fb196e994fc7300b45e1b9df918cb52c6676
Signed-off-by: Parshad Patel <pars.patel@samsung.com>
dcae-analytics-cdap-plugins/src/main/java/org/onap/dcae/apod/analytics/cdap/plugins/streaming/dmaap/DMaaPMRReceiver.java

index 1c291af..2d4b30e 100644 (file)
@@ -22,6 +22,7 @@ package org.onap.dcae.apod.analytics.cdap.plugins.streaming.dmaap;
 
 import co.cask.cdap.api.data.format.StructuredRecord;
 import co.cask.cdap.api.metrics.Metrics;
+
 import com.google.common.base.Optional;
 import org.apache.spark.storage.StorageLevel;
 import org.apache.spark.streaming.receiver.Receiver;
@@ -63,29 +64,31 @@ public class DMaaPMRReceiver extends Receiver<StructuredRecord> {
     public void onStart() {
 
         // create DMaaP MR Subscriber
-        final DMaaPMRSubscriber subscriber =
-                DMaaPMRFactory.create().createSubscriber(DMaaPSourceConfigMapper.map(pluginConfig));
-
-        // Start a new thread with indefinite loop until receiver is stopped
-        new Thread() {
-            @Override
-            public void run() {
-                while (!isStopped()) {
-                    storeStructuredRecords(subscriber);
-                    try {
-                        final Integer pollingInterval = pluginConfig.getPollingInterval();
-                        LOG.debug("DMaaP MR Receiver sleeping for polling interval: {}", pollingInterval);
-                        TimeUnit.MILLISECONDS.sleep(pollingInterval);
-                    } catch (InterruptedException e) {
-                        final String errorMessage = String.format(
-                                "Interrupted Exception while DMaaP MR Receiver sleeping polling interval: %s", e);
-                        Thread.currentThread().interrupt();
-                        throw new DCAEAnalyticsRuntimeException(errorMessage, LOG, e);
-                    }
-                }
-            }
-        }.start();
-
+        try(final DMaaPMRSubscriber subscriber =
+                DMaaPMRFactory.create().createSubscriber(DMaaPSourceConfigMapper.map(pluginConfig))){
+
+            // Start a new thread with indefinite loop until receiver is stopped
+            new Thread() {
+                @Override
+                public void run() {
+                    while (!isStopped()) {
+                        storeStructuredRecords(subscriber);
+                        try {
+                            final Integer pollingInterval = pluginConfig.getPollingInterval();
+                            LOG.debug("DMaaP MR Receiver sleeping for polling interval: {}", pollingInterval);
+                            TimeUnit.MILLISECONDS.sleep(pollingInterval);
+                            } catch (InterruptedException e) {
+                                final String errorMessage = String.format(
+                                        "Interrupted Exception while DMaaP MR Receiver sleeping polling interval: %s", e);
+                                Thread.currentThread().interrupt();
+                                throw new DCAEAnalyticsRuntimeException(errorMessage, LOG, e);
+                         }
+                     }
+                 }
+            }.start();
+        } catch (Exception e) {
+            LOG.error("Exception in DMaaPMRReceiver onStart",e);
+        }
     }
 
     @Override