diff --git a/bramble-core/src/main/java/org/briarproject/bramble/plugin/PluginManagerImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/plugin/PluginManagerImpl.java index a534eb357e3d89b94c9f01bbb24479ef245491dc..5b74eb4befc81ec75452e7e842a111d27b61cd47 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/plugin/PluginManagerImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/plugin/PluginManagerImpl.java @@ -108,6 +108,13 @@ class PluginManagerImpl implements PluginManager, Service { @Override public void startService() throws ServiceException { if (used.getAndSet(true)) throw new IllegalStateException(); + // Instantiate the poller + if (pluginConfig.shouldPoll()) { + LOG.info("Starting poller"); + Poller poller = new Poller(ioExecutor, scheduler, connectionManager, + connectionRegistry, this, random, clock); + eventBus.addListener(poller); + } // Instantiate the simplex plugins and start them asynchronously LOG.info("Starting simplex plugins"); for (SimplexPluginFactory f : pluginConfig.getSimplexFactories()) { @@ -140,13 +147,6 @@ class PluginManagerImpl implements PluginManager, Service { ioExecutor.execute(new PluginStarter(d, startLatch)); } } - // Instantiate the poller - if (pluginConfig.shouldPoll()) { - LOG.info("Starting poller"); - Poller poller = new Poller(ioExecutor, scheduler, connectionManager, - connectionRegistry, this, random, clock); - eventBus.addListener(poller); - } } @Override diff --git a/bramble-core/src/test/java/org/briarproject/bramble/plugin/PluginManagerImplTest.java b/bramble-core/src/test/java/org/briarproject/bramble/plugin/PluginManagerImplTest.java index 958f1218df668bae8566ab9eddf284f430125f96..2af1852a0dd9ccb68164a71f3cc69bb096ece63e 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/plugin/PluginManagerImplTest.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/plugin/PluginManagerImplTest.java @@ -40,9 +40,7 @@ public class PluginManagerImplTest extends BrambleTestCase { setThreadingPolicy(new Synchroniser()); }}; Executor ioExecutor = Executors.newSingleThreadExecutor(); - RejectedExecutionHandler policy = - new ScheduledThreadPoolExecutor.DiscardPolicy(); - ScheduledExecutorService scheduler = new ScheduledThreadPoolExecutor(1, policy); + ScheduledExecutorService scheduler = context.mock(ScheduledExecutorService.class); SecureRandom random = new SecureRandom(); Clock clock = context.mock(Clock.class); EventBus eventBus = context.mock(EventBus.class);