From 9fe6d674ad9008b6519c36908b17fbe42124de08 Mon Sep 17 00:00:00 2001 From: Michael Vorburger Date: Tue, 7 Nov 2017 22:24:28 +0100 Subject: [PATCH] AsyncDataTreeChangeListenerBase Thread with name of subclass AsyncClusteredDataTreeChangeListenerBase the same Change-Id: Id98ba50ce5e0571595d84efb6a6c0674ecec144c Signed-off-by: Michael Vorburger --- .../AsyncClusteredDataTreeChangeListenerBase.java | 13 +++++++++---- .../AsyncDataTreeChangeListenerBase.java | 13 +++++++++---- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/mdsalutil/mdsalutil-api/src/main/java/org/opendaylight/genius/datastoreutils/AsyncClusteredDataTreeChangeListenerBase.java b/mdsalutil/mdsalutil-api/src/main/java/org/opendaylight/genius/datastoreutils/AsyncClusteredDataTreeChangeListenerBase.java index fbc6c2074..896223d70 100644 --- a/mdsalutil/mdsalutil-api/src/main/java/org/opendaylight/genius/datastoreutils/AsyncClusteredDataTreeChangeListenerBase.java +++ b/mdsalutil/mdsalutil-api/src/main/java/org/opendaylight/genius/datastoreutils/AsyncClusteredDataTreeChangeListenerBase.java @@ -41,19 +41,24 @@ public abstract class AsyncClusteredDataTreeChangeListenerBase private ListenerRegistration listenerRegistration; private final ChainableDataTreeChangeListenerImpl chainingDelegate = new ChainableDataTreeChangeListenerImpl<>(); - - private final ExecutorService dataTreeChangeHandlerExecutor = - Executors.newSingleThreadExecutor("AsyncClusteredDataTreeChangeListenerBase-DataTreeChangeHandler", LOG); - + private final ExecutorService dataTreeChangeHandlerExecutor; protected final Class clazz; protected AsyncClusteredDataTreeChangeListenerBase() { this.clazz = SuperTypeUtil.getTypeParameter(getClass(), 0); + this.dataTreeChangeHandlerExecutor = newThreadPoolExecutor(clazz); } @Deprecated public AsyncClusteredDataTreeChangeListenerBase(Class clazz, Class eventClazz) { this.clazz = Preconditions.checkNotNull(clazz, "Class can not be null!"); + this.dataTreeChangeHandlerExecutor = newThreadPoolExecutor(clazz); + } + + private static ExecutorService newThreadPoolExecutor(Class clazz) { + return Executors.newSingleThreadExecutor( + // class name first so it shows up in logs' prefix, but fixed length + clazz.getName() + "_AsyncClusteredDataTreeChangeListenerBase-DataTreeChangeHandler", LOG); } @Override diff --git a/mdsalutil/mdsalutil-api/src/main/java/org/opendaylight/genius/datastoreutils/AsyncDataTreeChangeListenerBase.java b/mdsalutil/mdsalutil-api/src/main/java/org/opendaylight/genius/datastoreutils/AsyncDataTreeChangeListenerBase.java index 7a7619b1f..6582207c4 100644 --- a/mdsalutil/mdsalutil-api/src/main/java/org/opendaylight/genius/datastoreutils/AsyncDataTreeChangeListenerBase.java +++ b/mdsalutil/mdsalutil-api/src/main/java/org/opendaylight/genius/datastoreutils/AsyncDataTreeChangeListenerBase.java @@ -5,7 +5,6 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ - package org.opendaylight.genius.datastoreutils; import com.google.common.base.Preconditions; @@ -40,18 +39,24 @@ public abstract class AsyncDataTreeChangeListenerBase listenerRegistration; private final ChainableDataTreeChangeListenerImpl chainingDelegate = new ChainableDataTreeChangeListenerImpl<>(); - - private final ExecutorService dataTreeChangeHandlerExecutor = - Executors.newSingleThreadExecutor("AsyncDataTreeChangeListenerBase-DataTreeChangeHandler", LOG); + private final ExecutorService dataTreeChangeHandlerExecutor; protected final Class clazz; protected AsyncDataTreeChangeListenerBase() { this.clazz = SuperTypeUtil.getTypeParameter(getClass(), 0); + this.dataTreeChangeHandlerExecutor = newThreadPoolExecutor(clazz); } @Deprecated public AsyncDataTreeChangeListenerBase(Class clazz, Class eventClazz) { this.clazz = Preconditions.checkNotNull(clazz, "Class can not be null!"); + this.dataTreeChangeHandlerExecutor = newThreadPoolExecutor(clazz); + } + + private static ExecutorService newThreadPoolExecutor(Class clazz) { + return Executors.newSingleThreadExecutor( + // class name first so it shows up in logs' prefix, but fixed length + clazz.getName() + "_AsyncDataTreeChangeListenerBase-DataTreeChangeHandler", LOG); } @Override -- 2.36.6