@Override public PooledItemSourceFactory build() { if (initialPoolSize <= 0) { throw new ConfigurationException("initialPoolSize must be higher than 0 for " + PLUGIN_NAME); } if (itemSizeInBytes <= 0) { throw new ConfigurationException("itemSizeInBytes must be higher than 0 for " + PLUGIN_NAME); } if (poolName == null) { poolName = UUID.randomUUID().toString(); } if (resizePolicy == null) { ResizePolicy resizePolicy = createResizePolicy(); LOGGER.info("No configured {} found for pool {}. Defaulting to {}", ResizePolicy.ELEMENT_TYPE, poolName, resizePolicy.getClass().getSimpleName()); this.resizePolicy = resizePolicy; } return new PooledItemSourceFactory(configuredBufferedItemSourcePool()); }
.withMonitored(monitored) .withMonitorTaskInterval(monitorTaskInterval) .withResizePolicy(resizePolicy) .withResizeTimeout(resizeTimeout) .withInitialPoolSize(initialPoolSize) .withItemSizeInBytes(itemSizeInBytes) .withPoolName(poolName); builder.build();
@Override public PooledItemSourceFactory build() { if (initialPoolSize <= 0) { throw new ConfigurationException("initialPoolSize must be higher than 0 for " + PLUGIN_NAME); } if (itemSizeInBytes <= 0) { throw new ConfigurationException("itemSizeInBytes must be higher than 0 for " + PLUGIN_NAME); } if (poolName == null) { poolName = UUID.randomUUID().toString(); } if (resizePolicy == null) { ResizePolicy resizePolicy = createResizePolicy(); LOGGER.info("No configured {} found for pool {}. Defaulting to {}", ResizePolicy.ELEMENT_TYPE, poolName, resizePolicy.getClass().getSimpleName()); this.resizePolicy = resizePolicy; } return new PooledItemSourceFactory(configuredBufferedItemSourcePool()); }
@PluginBuilderFactory public static PooledItemSourceFactory.Builder newBuilder() { return new PooledItemSourceFactory.Builder(); }
@PluginBuilderFactory public static PooledItemSourceFactory.Builder newBuilder() { return new PooledItemSourceFactory.Builder(); }
@Test public void builderBuildsSuccessfully() { // given PooledItemSourceFactory.Builder builder = createDefaultTestSourceFactoryConfig(); // when PooledItemSourceFactory factory = builder.build(); // then Assert.assertNotNull(factory); }
@Test public void builderThrowsOnItemSizeInBytesLessThanZero() { // given PooledItemSourceFactory.Builder builder = createDefaultTestSourceFactoryConfig() .withItemSizeInBytes(-1); expectedException.expect(ConfigurationException.class); expectedException.expectMessage("itemSizeInBytes must be higher than 0"); expectedException.expectMessage(PooledItemSourceFactory.PLUGIN_NAME); // when builder.build(); }
public static PooledItemSourceFactory.Builder createDefaultTestSourceFactoryConfig() { return PooledItemSourceFactory.newBuilder() .withInitialPoolSize(DEFAULT_TEST_POOL_SIZE) .withItemSizeInBytes(DEFAULT_TEST_ITEM_SIZE_IN_BYTES); }
@Test public void lifecycleStopShutsDownPool() { // given ItemSourcePool pool = mock(ItemSourcePool.class); PooledItemSourceFactory.Builder sourceFactoryConfig = spy(createDefaultTestSourceFactoryConfig()); when(sourceFactoryConfig.configuredBufferedItemSourcePool()).thenReturn(pool); PooledItemSourceFactory factory = sourceFactoryConfig.build(); // when factory.stop(1000, TimeUnit.MILLISECONDS); // then verify(pool).shutdown(); }
@Test public void builderThrowsOnItemSizeInBytesZero() { // given PooledItemSourceFactory.Builder builder = createDefaultTestSourceFactoryConfig() .withItemSizeInBytes(0); expectedException.expect(ConfigurationException.class); expectedException.expectMessage("itemSizeInBytes must be higher than 0"); expectedException.expectMessage(PooledItemSourceFactory.PLUGIN_NAME); // when builder.build(); }
@Test public void builderThrowsOnInitialPoolSizeLessThanZero() { // given PooledItemSourceFactory.Builder builder = createDefaultTestSourceFactoryConfig() .withInitialPoolSize(-1); expectedException.expect(ConfigurationException.class); expectedException.expectMessage("initialPoolSize must be higher than 0"); expectedException.expectMessage(PooledItemSourceFactory.PLUGIN_NAME); // when builder.build(); }
@Test public void builderThrowsOnInitialPoolSizeZero() { // given PooledItemSourceFactory.Builder builder = createDefaultTestSourceFactoryConfig() .withInitialPoolSize(0); expectedException.expect(ConfigurationException.class); expectedException.expectMessage("initialPoolSize must be higher than 0"); expectedException.expectMessage(PooledItemSourceFactory.PLUGIN_NAME); // when builder.build(); }