@Override public void destroy() { if (this.useGlobalResources) { HttpResources.disposeLoopsAndConnections(); } else { try { ConnectionProvider provider = this.connectionProvider; if (provider != null && this.manageConnectionProvider) { provider.dispose(); } } catch (Throwable ex) { // ignore } try { LoopResources resources = this.loopResources; if (resources != null && this.manageLoopResources) { resources.dispose(); } } catch (Throwable ex) { // ignore } } }
@Override public void destroy() { if (this.useGlobalResources) { HttpResources.disposeLoopsAndConnections(); } else { try { ConnectionProvider provider = this.connectionProvider; if (provider != null && this.manageConnectionProvider) { provider.dispose(); } } catch (Throwable ex) { // ignore } try { LoopResources resources = this.loopResources; if (resources != null && this.manageLoopResources) { resources.dispose(); } } catch (Throwable ex) { // ignore } } }
@Test public void localResourcesViaSupplier() throws Exception { this.resourceFactory.setUseGlobalResources(false); this.resourceFactory.setConnectionProviderSupplier(() -> this.connectionProvider); this.resourceFactory.setLoopResourcesSupplier(() -> this.loopResources); this.resourceFactory.afterPropertiesSet(); ConnectionProvider connectionProvider = this.resourceFactory.getConnectionProvider(); LoopResources loopResources = this.resourceFactory.getLoopResources(); assertSame(this.connectionProvider, connectionProvider); assertSame(this.loopResources, loopResources); verifyNoMoreInteractions(this.connectionProvider, this.loopResources); this.resourceFactory.destroy(); // Managed (destroy disposes).. verify(this.connectionProvider).dispose(); verify(this.loopResources).dispose(); verifyNoMoreInteractions(this.connectionProvider, this.loopResources); }
/** * Dispose underlying resources */ protected void _dispose(){ defaultLoops.dispose(); }
/** * Dispose underlying resources */ protected void _dispose(){ defaultLoops.dispose(); }
/** * Dispose underlying resources */ protected void _dispose(){ defaultProvider.dispose(); defaultLoops.dispose(); }
/** * Dispose underlying resources */ protected void _dispose(){ defaultProvider.dispose(); defaultLoops.dispose(); }
@Override public void destroy() { if (this.useGlobalResources) { HttpResources.disposeLoopsAndConnections(); } else { try { ConnectionProvider provider = this.connectionProvider; if (provider != null && this.manageConnectionProvider) { provider.dispose(); } } catch (Throwable ex) { // ignore } try { LoopResources resources = this.loopResources; if (resources != null && this.manageLoopResources) { resources.dispose(); } } catch (Throwable ex) { // ignore } } }
@Override public void destroy() { if (this.useGlobalResources) { HttpResources.disposeLoopsAndConnections(); } else { try { ConnectionProvider provider = this.connectionProvider; if (provider != null && this.manageConnectionProvider) { provider.dispose(); } } catch (Throwable ex) { // ignore } try { LoopResources resources = this.loopResources; if (resources != null && this.manageLoopResources) { resources.dispose(); } } catch (Throwable ex) { // ignore } } }
log.warn("[{}] resources will use a new LoopResources: {}," + "the previous LoopResources will be disposed", name, loops); resources.defaultLoops.dispose();
log.warn("[{}] resources will use a new LoopResources: {}," + "the previous LoopResources will be disposed", name, loops); resources.defaultLoops.dispose();
@Test public void testIssue192() { LoopResources resources = LoopResources.create("testIssue192"); UdpServer server = UdpServer.create() .runOn(resources); UdpClient client = UdpClient.create() .runOn(resources); assertThat(Thread.getAllStackTraces().keySet().stream().noneMatch(t -> t.getName().startsWith("testIssue192"))).isTrue(); server.bind(); client.connect(); assertThat(Thread.getAllStackTraces().keySet().stream().anyMatch(t -> t.getName().startsWith("testIssue192"))).isTrue(); resources.dispose(); } }
log.warn("[{}] resources will use a new LoopResources: {}," + "the previous LoopResources will be disposed", name, loops); resources.defaultLoops.dispose();
log.warn("[{}] resources will use a new LoopResources: {}," + "the previous LoopResources will be disposed", name, loops); resources.defaultLoops.dispose();
@Test public void testTcpClient1ThreadAcquire() { LoopResources resources = LoopResources.create("test", 1, true); Connection client = TcpClient.create() .host("localhost") .port(echoServerPort) .runOn(resources) .wiretap(true) .connectNow(); client.disposeNow(); resources.dispose(); assertThat("client was configured", client instanceof ChannelOperations); }