package io.ebeaninternal.server.core; import org.junit.Ignore; import org.junit.Test; public class DefaultBackgroundExecutorTest { @Test @Ignore public void shutdown_when_running_expect_waitAndNiceShutdown() throws Exception { DefaultBackgroundExecutor es = new DefaultBackgroundExecutor(1, 20, "test"); es.execute(new RunFor(3000, "a")); es.execute(new RunFor(3000, "b")); es.execute(new RunFor(3000, "c")); es.shutdown(); } @Test @Ignore public void shutdown_when_rougeRunnable_expect_InterruptedException() throws Exception { DefaultBackgroundExecutor es = new DefaultBackgroundExecutor(1, 10, "test"); es.execute(new RunFor(300000, "a")); es.execute(new RunFor(3000, "b")); es.execute(new RunFor(3000, "c")); es.shutdown(); } class RunFor implements Runnable { final long wait; final String id; RunFor(long wait, String id) { this.wait = wait; this.id = id; } @Override public void run() { try { System.out.println("start " + id); Thread.sleep(wait); System.out.println("done " + id); } catch (InterruptedException e) { e.printStackTrace(); } } } }