Преглед изворни кода

allow thread pool naming

tags/2.0.1
Jonathan Cobb пре 4 година
родитељ
комит
d6dfc2a4e5
3 измењених фајлова са 22 додато и 5 уклоњено
  1. +20
    -3
      src/main/java/org/cobbzilla/util/daemon/DaemonThreadFactory.java
  2. +1
    -1
      src/main/java/org/cobbzilla/util/handlebars/HandlebarsUtil.java
  3. +1
    -1
      src/main/java/org/cobbzilla/util/io/FilesystemWalker.java

+ 20
- 3
src/main/java/org/cobbzilla/util/daemon/DaemonThreadFactory.java Прегледај датотеку

@@ -1,28 +1,45 @@
package org.cobbzilla.util.daemon;

import lombok.NoArgsConstructor;
import lombok.extern.slf4j.Slf4j;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ThreadFactory;
import java.util.concurrent.atomic.AtomicInteger;

@Slf4j
import static java.util.concurrent.Executors.newFixedThreadPool;

@Slf4j @NoArgsConstructor
public class DaemonThreadFactory implements ThreadFactory {

public static final DaemonThreadFactory instance = new DaemonThreadFactory();

public DaemonThreadFactory (String name) { this.name = name+"-"; }

private String name = "DaemonThread-";
private final AtomicInteger counter = new AtomicInteger();

@Override public Thread newThread(Runnable r) {
final Thread t = new Thread(r);
t.setDaemon(true);
t.setName(name+counter.incrementAndGet());
return t;
}

public static ExecutorService fixedPool (int count, String name) {
if (count <= 0) {
log.warn("fixedPool: invalid count ("+count+"), using single thread");
count = 1;
}
return newFixedThreadPool(count, new DaemonThreadFactory(name));
}

public static ExecutorService fixedPool (int count) {
if (count <= 0) {
log.warn("fixedPool: invalid count ("+count+"), using single thread");
count = 1;
}
return Executors.newFixedThreadPool(count, instance);
return newFixedThreadPool(count, instance);
}

}

+ 1
- 1
src/main/java/org/cobbzilla/util/handlebars/HandlebarsUtil.java Прегледај датотеку

@@ -680,7 +680,7 @@ public class HandlebarsUtil extends AbstractTemplateLoader {
: null;
}

private static final ExecutorService contextSender = fixedPool(10);
private static final ExecutorService contextSender = fixedPool(10, "HandlebarsUtil.contextSender");

public static void sendContext(String recipient, String subject, String message, String contentType) {
contextSender.submit(() -> {


+ 1
- 1
src/main/java/org/cobbzilla/util/io/FilesystemWalker.java Прегледај датотеку

@@ -45,7 +45,7 @@ public class FilesystemWalker {
public FilesystemWalker withVisitor (FilesystemVisitor visitor) { visitors.add(visitor); return this; }
public FilesystemWalker withTimeoutDuration (String duration) { setTimeout(parseDuration(duration)); return this; }

@Getter(lazy=true) private final ExecutorService pool = fixedPool(getThreads());
@Getter(lazy=true) private final ExecutorService pool = fixedPool(getThreads(), "FilesystemWalker.pool");
@Getter(lazy=true) private final List<Future<?>> futures = new ArrayList<>(getSize());

public AwaitResult walk() {


Loading…
Откажи
Сачувај