summaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-api/src/main/java/org/openecomp/sdc/logging/api/context/TaskFactory.java
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-api/src/main/java/org/openecomp/sdc/logging/api/context/TaskFactory.java')
-rw-r--r--openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-api/src/main/java/org/openecomp/sdc/logging/api/context/TaskFactory.java70
1 files changed, 33 insertions, 37 deletions
diff --git a/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-api/src/main/java/org/openecomp/sdc/logging/api/context/TaskFactory.java b/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-api/src/main/java/org/openecomp/sdc/logging/api/context/TaskFactory.java
index 3ad999f272..e2b31c3202 100644
--- a/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-api/src/main/java/org/openecomp/sdc/logging/api/context/TaskFactory.java
+++ b/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-api/src/main/java/org/openecomp/sdc/logging/api/context/TaskFactory.java
@@ -23,57 +23,53 @@ package org.openecomp.sdc.logging.api.context;
import org.openecomp.sdc.logging.api.BaseFactory;
/**
- * <p>Should be used to propagate a diagnostic context (for instance
- * <a href="http://www.slf4j.org/manual.html#mdc">MDC</a>) to other threads.</p>
- *
- * <p>Applicable when creating a child thread directly, or submitting tasks for potentially postponed execution via
- * an <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Executor.html">Executor</a> (including
- * any of the <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html">executor
- * services</a> and
- * <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ForkJoinPool.html">ForkJoinPool</a>).</p>
- *
+ * <p>Should be used to propagate a diagnostic context (for instance <a
+ * href="http://www.slf4j.org/manual.html#mdc">MDC</a>) to other threads.</p>
+ * <p>Applicable when creating a child thread directly, or submitting tasks for potentially
+ * postponed execution via an <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Executor.html">Executor</a>
+ * (including any of the <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html">executor
+ * services</a> and <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ForkJoinPool.html">ForkJoinPool</a>).</p>
* <p>The service used by this factory must implement {@link ContextPropagationService}.</p>
*
* @author evitaliy
- * @since 12/09/2016.
- *
* @see ContextPropagationService
+ * @since 12/09/2016.
*/
@SuppressWarnings("ThrowableInstanceNeverThrown")
public class TaskFactory extends BaseFactory {
- private static final ContextPropagationService SERVICE;
- private static final RuntimeException ERROR;
-
- static {
+ private static final ContextPropagationService SERVICE;
+ private static final RuntimeException ERROR;
- ContextPropagationService service = null;
- RuntimeException error = null;
+ static {
- try {
- service = locateService(ContextPropagationService.class);
- } catch (Throwable e) {
- error = new RuntimeException("Failed to instantiate task factory", e);
- }
+ ContextPropagationService service = null;
+ RuntimeException error = null;
- SERVICE = service;
- ERROR = error;
+ try {
+ service = locateService(ContextPropagationService.class);
+ } catch (Exception ex) {
+ error = new RuntimeException("Failed to instantiate task factory", ex);
}
- /**
- * Modify a task so that a diagnostic context is propagated to the thread when the task runs. Done in a
- * logging-framework specific way.
- *
- * @param task any Runnable that will run in a thread
- * @return modified (wrapped) original task that runs the same business logic, but also takes care of copying the
- * diagnostic context for logging
- */
- public static Runnable create(Runnable task) {
+ SERVICE = service;
+ ERROR = error;
+ }
- if (SERVICE == null) {
- throw ERROR;
- }
+ /**
+ * Modify a task so that a diagnostic context is propagated to the thread when the task runs. Done
+ * in a logging-framework specific way.
+ *
+ * @param task any Runnable that will run in a thread
+ * @return modified (wrapped) original task that runs the same business logic, but also takes care
+ * of copying the diagnostic context for logging
+ */
+ public static Runnable create(Runnable task) {
- return SERVICE.create(task);
+ if (SERVICE == null) {
+ throw ERROR;
}
+
+ return SERVICE.create(task);
+ }
}