/** * @see SimplePool#getAllocatedCount() * @return the allocated count. */ public int getAllocatedCount() { return this.pool.getAllocatedCount(); }
@SuppressWarnings("unchecked") @Test public <F> void testServerException() throws Exception { SessionFactory<F> sf = mock(SessionFactory.class); CachingSessionFactory<F> csf = new CachingSessionFactory<F>(sf, 2); FileTransferringMessageHandler<F> handler = new FileTransferringMessageHandler<F>(csf); handler.setBeanFactory(mock(BeanFactory.class)); Session<F> session1 = newSession(); Session<F> session2 = newSession(); Session<F> session3 = newSession(); when(sf.getSession()).thenReturn(session1, session2, session3); handler.setRemoteDirectoryExpressionString("'foo'"); handler.afterPropertiesSet(); for (int i = 0; i < 3; i++) { try { handler.handleMessage(new GenericMessage<String>("hello")); } catch (Exception e) { assertEquals("test", e.getCause().getCause().getMessage()); } } verify(session1, times(1)).write(Mockito.any(InputStream.class), Mockito.anyString()); verify(session2, times(1)).write(Mockito.any(InputStream.class), Mockito.anyString()); verify(session3, times(1)).write(Mockito.any(InputStream.class), Mockito.anyString()); SimplePool<?> pool = TestUtils.getPropertyValue(csf, "pool", SimplePool.class); assertEquals(1, pool.getAllocatedCount()); assertEquals(1, pool.getIdleCount()); assertSame(session3, TestUtils.getPropertyValue(pool, "allocated", Set.class).iterator().next()); }
/** * @see SimplePool#getAllocatedCount() * @return the allocated count. */ public int getAllocatedCount() { return this.pool.getAllocatedCount(); }
@Test public void testReuseAndStale() { final Set<String> strings = new HashSet<String>(); final AtomicBoolean stale = new AtomicBoolean(); SimplePool<String> pool = stringPool(2, strings, stale); String s1 = pool.getItem(); String s2 = pool.getItem(); assertNotSame(s1, s2); pool.releaseItem(s1); String s3 = pool.getItem(); assertSame(s1, s3); stale.set(true); pool.releaseItem(s3); s3 = pool.getItem(); assertNotSame(s1, s3); assertFalse(strings.remove(s1)); assertEquals(2, pool.getAllocatedCount()); }
assertEquals(0, pool.getIdleCount()); assertEquals(1, pool.getActiveCount()); assertEquals(1, pool.getAllocatedCount()); pool.releaseItem(s1); assertEquals(1, pool.getIdleCount()); assertEquals(0, pool.getActiveCount()); assertEquals(1, pool.getAllocatedCount()); s1 = pool.getItem(); assertEquals(0, pool.getIdleCount()); assertEquals(1, pool.getActiveCount()); assertEquals(1, pool.getAllocatedCount()); String s2 = pool.getItem(); assertNotSame(s1, s2); assertEquals(0, pool.getIdleCount()); assertEquals(2, pool.getActiveCount()); assertEquals(2, pool.getAllocatedCount()); try { pool.getItem(); assertEquals(2, pool.getAllocatedCount()); String s3 = pool.getItem(); String s4 = pool.getItem(); assertEquals(0, pool.getIdleCount()); assertEquals(4, pool.getActiveCount()); assertEquals(4, pool.getAllocatedCount()); pool.releaseItem(s4); assertEquals(1, pool.getIdleCount()); assertEquals(3, pool.getActiveCount());