diff --git a/Core/src/org/sleuthkit/autopsy/datasourcesummary/uiutils/SwingWorkerSequentialExecutor.java b/Core/src/org/sleuthkit/autopsy/datasourcesummary/uiutils/SwingWorkerSequentialExecutor.java index 37c46df31c647d57281bc772e91c58eb4457ebc6..b0a4ea679fea5b79354160bb0c2a487c9bc4d4c1 100644 --- a/Core/src/org/sleuthkit/autopsy/datasourcesummary/uiutils/SwingWorkerSequentialExecutor.java +++ b/Core/src/org/sleuthkit/autopsy/datasourcesummary/uiutils/SwingWorkerSequentialExecutor.java @@ -18,6 +18,7 @@ */ package org.sleuthkit.autopsy.datasourcesummary.uiutils; +import com.google.common.util.concurrent.ThreadFactoryBuilder; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -36,7 +37,7 @@ */ public class SwingWorkerSequentialExecutor { - private final ExecutorService executorService = Executors.newFixedThreadPool(1); + private final ExecutorService executorService = Executors.newFixedThreadPool(1, new ThreadFactoryBuilder().setNameFormat("SwingWorkerSequentialExecutor-%d").build()); private List<? extends SwingWorker<?, ?>> workers = Collections.emptyList(); private List<Future<?>> futures = Collections.emptyList(); diff --git a/Core/src/org/sleuthkit/autopsy/imagewriter/ImageWriter.java b/Core/src/org/sleuthkit/autopsy/imagewriter/ImageWriter.java index 7a75e135176dab7637599bae3a9440adac1a4088..9a07b9fd7cc75c101c39fb21af665f40138a3512 100644 --- a/Core/src/org/sleuthkit/autopsy/imagewriter/ImageWriter.java +++ b/Core/src/org/sleuthkit/autopsy/imagewriter/ImageWriter.java @@ -144,7 +144,7 @@ public void propertyChange(PropertyChangeEvent evt) { }) private void startFinishImage(String dataSourceName) { - ExecutorService executor = Executors.newSingleThreadExecutor(); + ExecutorService executor = Executors.newSingleThreadExecutor(new ThreadFactoryBuilder().setNameFormat("ImageWriter-startFinishImage-%d").build()); synchronized (currentTasksLock) { if (isCancelled) { return; diff --git a/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/ImportCentralRepoDbProgressDialog.java b/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/ImportCentralRepoDbProgressDialog.java index d868b391899106ccc1739b8a621b2159cecc6da4..0b685977c571adfd988b564377c007468fcf651c 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/ImportCentralRepoDbProgressDialog.java +++ b/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/ImportCentralRepoDbProgressDialog.java @@ -291,16 +291,13 @@ private void deleteIncompleteSet() { if (referenceSetID.get() >= 0) { // This can be slow on large reference sets - Executors.newSingleThreadExecutor().execute(new Runnable() { - @Override - public void run() { - try { - CentralRepository.getInstance().deleteReferenceSet(referenceSetID.get()); - } catch (CentralRepoException ex2) { - Logger.getLogger(ImportCentralRepoDbProgressDialog.class.getName()).log(Level.SEVERE, "Error deleting incomplete hash set from central repository", ex2); - } + new Thread(() -> { + try { + CentralRepository.getInstance().deleteReferenceSet(referenceSetID.get()); + } catch (CentralRepoException ex2) { + Logger.getLogger(ImportCentralRepoDbProgressDialog.class.getName()).log(Level.SEVERE, "Error deleting incomplete hash set from central repository", ex2); } - }); + }).start(); } } diff --git a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/drawableviews/DrawableUIBase.java b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/drawableviews/DrawableUIBase.java index 6f0b1d1c2a0903028504e9bc778e2b99ec257249..e2fde8d03a9b8a0aa386bd38a44e3296b7c4d81c 100644 --- a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/drawableviews/DrawableUIBase.java +++ b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/drawableviews/DrawableUIBase.java @@ -18,6 +18,7 @@ */ package org.sleuthkit.autopsy.imagegallery.gui.drawableviews; +import com.google.common.util.concurrent.ThreadFactoryBuilder; import java.util.Objects; import static java.util.Objects.nonNull; import java.util.Optional; @@ -55,7 +56,7 @@ abstract public class DrawableUIBase extends AnchorPane implements DrawableView /** The use of SingleThreadExecutor means we can only load a single image at * a time */ - static final Executor exec = Executors.newSingleThreadExecutor(); + static final Executor exec = Executors.newSingleThreadExecutor(new ThreadFactoryBuilder().setNameFormat("DrawableUIBase-%d").build()); @FXML BorderPane imageBorder; diff --git a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/navpanel/GroupTreeItem.java b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/navpanel/GroupTreeItem.java index 234e8341492aef7f49f873a027d5f854e9b68893..ee8298990832fdd33d006001919a6d48afc1a1de 100644 --- a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/navpanel/GroupTreeItem.java +++ b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/navpanel/GroupTreeItem.java @@ -18,6 +18,7 @@ */ package org.sleuthkit.autopsy.imagegallery.gui.navpanel; +import com.google.common.util.concurrent.ThreadFactoryBuilder; import java.util.Comparator; import java.util.HashMap; import java.util.List; @@ -39,7 +40,7 @@ */ class GroupTreeItem extends TreeItem<GroupTreeNode> { - static final Executor treeInsertTread = Executors.newSingleThreadExecutor(); + static final Executor treeInsertTread = Executors.newSingleThreadExecutor(new ThreadFactoryBuilder().setNameFormat("GroupTreeItem-%d").build()); GroupTreeItem getTreeItemForGroup(DrawableGroup grouping) { if (Objects.equals(getValue().getGroup(), grouping)) {