List of usage examples for org.apache.commons.pool.impl GenericKeyedObjectPool setMaxTotal
public synchronized void setMaxTotal(int maxTotal)
From source file:com.informatica.surf.Node.java
public Node(VDSSource source, VDSTarget target, List<VDSTransform> transforms, Map<Object, VDSConfiguration> ctx) { _logger.info("Creating node..."); _source = source;//from w w w . j a v a 2 s .co m _target = target; _transforms = transforms; _context = ctx; if (source instanceof VDSMessageAckSource) { _acksource = (VDSMessageAckSource) source; _needsAck = true; } else { _acksource = null; _needsAck = false; } GenericKeyedObjectPool<Integer, VDSEventImpl> evtpool = new GenericKeyedObjectPool( new VDSEventPoolFactory()); evtpool.setMaxActive(-1); evtpool.setMaxTotal(10000); _eventListPool = new GenericKeyedObjectPool<>(new VDSEventListPoolFactory(evtpool)); _eventListPool.setMaxActive(-1); _eventListPool.setMaxTotal(10000); }
From source file:Pool146.java
public void testBlockedKeyDoesNotBlockPoolImproved() throws Exception { SimpleFactory factory = new SimpleFactory(); GenericKeyedObjectPool pool = new GenericKeyedObjectPool(factory); pool.setWhenExhaustedAction(GenericKeyedObjectPool.WHEN_EXHAUSTED_BLOCK); pool.setMaxActive(1);/*from w w w .j a va2s . c o m*/ pool.setMaxTotal(-1); // Borrow with one key Object obj = pool.borrowObject("one"); // Borrow again with same key, should be blocked Runnable simple = new SimpleTestThread(pool, "one"); Thread borrowThread = new Thread(simple); borrowThread.start(); pool.borrowObject("two"); assert (pool.getNumActive("one") == 1); assert (pool.getNumActive("two") == 1); // Unblock and join the thread pool.returnObject("one", obj); borrowThread.join(); assert (pool.getNumActive("one") == 0); assert (pool.getNumActive("two") == 1); }
From source file:com.tasktop.c2c.server.common.service.tests.ajp.AjpProtocolTest.java
@Ignore // This sometimes fails on the CI server @Test// w w w. j ava2 s. c o m public void testMultipleSuccessiveGets() throws IOException { GenericKeyedObjectPool uniSocketPool = new GenericKeyedObjectPool(new AjpPoolableConnectionFactory()); uniSocketPool.setLifo(true); uniSocketPool.setMaxIdle(1); uniSocketPool.setMaxTotal(1); uniSocketPool.setMinIdle(1); protocol.setSocketPool(uniSocketPool); final int numRequests = 50; for (int x = 0; x < numRequests; ++x) { System.out.println("request: " + x); Payload payload = new Payload(); MockHttpServletRequest request = new MockHttpServletRequest() { @Override public int getContentLength() { return -1; } }; payload.setResponseCode(HttpServletResponse.SC_OK); payload.setBinaryContent(createData((x + 3) * 512)); payload.setCharacterContent("some content " + x); payload.getResponseHeaders().put("foo", "bar"); TestServlet.setResponsePayload(payload); request.setMethod("GET"); request.setRequestURI("/testGet" + x); request.addHeader("Content-Type", "text/plain"); MockHttpServletResponse response = new MockHttpServletResponse(); protocol.forward(request, response); assertRequestIsExpected(request, TestServlet.getLastRequest()); assertResponseIsExpected(payload, response); } }
From source file:com.tasktop.c2c.server.common.service.tests.ajp.AjpProtocolTest.java
@Test public void testMultipleSuccessiveRequestsOnOneConnection() throws IOException { GenericKeyedObjectPool uniSocketPool = new GenericKeyedObjectPool(new AjpPoolableConnectionFactory()); uniSocketPool.setLifo(true);/* w ww . j a v a2 s . c o m*/ uniSocketPool.setMaxIdle(1); uniSocketPool.setMaxTotal(1); uniSocketPool.setMinIdle(1); protocol.setSocketPool(uniSocketPool); final int numRequests = 50; for (int x = 0; x < numRequests; ++x) { System.out.println("request: " + x); Payload payload = new Payload(); MockHttpServletRequest request = new MockHttpServletRequest(); if (x % 3 == 0) { payload.setResponseCode(HttpServletResponse.SC_CREATED); payload.setCharacterContent("some content " + x); payload.getResponseHeaders().put("foo", "bar"); TestServlet.setResponsePayload(payload); String formContent = "a=b&c=def"; byte[] requestContent = formContent.getBytes(); request.setMethod("PUT"); request.setRequestURI("/testPostData" + x); request.addHeader("Content-Type", "application/x-www-form-urlencoded"); request.addHeader("Content-Length", requestContent.length); request.setContent(requestContent); } else { payload.setResponseCode(HttpServletResponse.SC_OK); payload.setBinaryContent(createData((x * 1024) + 3)); payload.getResponseHeaders().put("Content-Length", Integer.toString(payload.getBinaryContent().length)); payload.getResponseHeaders().put("Content-Type", "unknown"); payload.getResponseHeaders().put("TestPayloadNumber", Integer.toHexString(x) + '/' + Integer.toHexString(numRequests)); TestServlet.setResponsePayload(payload); request.setMethod("GET"); request.setRequestURI("/test" + x); } MockHttpServletResponse response = new MockHttpServletResponse(); protocol.forward(request, response); assertRequestIsExpected(request, TestServlet.getLastRequest()); assertResponseIsExpected(payload, response); } }
From source file:com.tasktop.c2c.server.common.service.tests.ajp.AjpProtocolTest.java
@Test // Trying to recreate task 718 public void testGetThenPost() throws Exception { final byte[] POST_REQUEST_PAYLOAD = createData(431); GenericKeyedObjectPool uniSocketPool = new GenericKeyedObjectPool(new AjpPoolableConnectionFactory()); uniSocketPool.setLifo(true);//from ww w . j a va 2 s . c o m uniSocketPool.setMaxIdle(1); uniSocketPool.setMaxTotal(1); uniSocketPool.setMinIdle(1); protocol.setSocketPool(uniSocketPool); for (int i = 0; i < 10; i++) { MockHttpServletRequest getRequest = new MockHttpServletRequest(); getRequest.setMethod("GET"); getRequest.setRequestURI("/alm/s/code2cloud/scm/test4.git/info/refs"); getRequest.setQueryString("service=git-receive-pack"); getRequest.addParameter("service", "git-receive-pack"); getRequest.addHeader("Authorization", AUTH_HEADER); getRequest.addHeader("Host", "localhost:8888"); getRequest.addHeader("User-Agent", "git/1.7.3.1"); getRequest.addHeader("Accept", "*/*"); getRequest.addHeader("Pragma", "no-cache"); Payload getPayload = new Payload(); getPayload.setResponseCode(HttpServletResponse.SC_OK); getPayload.setCharacterContent(GET_RESPONSE_PAYLOAD); MockHttpServletResponse response = new MockHttpServletResponse(); TestServlet.setResponsePayload(getPayload); protocol.forward(getRequest, response); assertRequestIsExpected(getRequest, TestServlet.getLastRequest()); assertResponseIsExpected(getPayload, response); MockHttpServletRequest postRequest = new MockHttpServletRequest(); postRequest.setMethod("POST"); postRequest.setRequestURI("/alm/s/code2cloud/scm/test4.git/git-receive-pack"); postRequest.addHeader("Authorization", AUTH_HEADER); postRequest.addHeader("Host", "localhost:8888"); postRequest.addHeader("Content-Length", "" + POST_REQUEST_PAYLOAD.length); postRequest.addHeader("Accept-Encoding", "deflate, gzip"); postRequest.addHeader("User-Agent", "git/1.7.3.1"); postRequest.addHeader("Accept", "application/x-git-receive-pack-result"); postRequest.addHeader("Content-Type", "application/x-git-receive-pack-request"); postRequest.setContent(POST_REQUEST_PAYLOAD); Payload postPayload = new Payload(); postPayload.setResponseCode(HttpServletResponse.SC_OK); postPayload.setCharacterContent(POST_RESPONSE_PAYLOAD); response = new MockHttpServletResponse(); TestServlet.setResponsePayload(postPayload); protocol.forward(postRequest, response); assertRequestIsExpected(postRequest, TestServlet.getLastRequest()); assertResponseIsExpected(postPayload, response); } }
From source file:edu.illinois.enforcemop.examples.apache.pool.TestGenericKeyedObjectPool.java
@Test // @Schedules({//from w ww .j a v a 2 s .c om // @Schedule(name = "BorrowOneBeforeTwo", value = "[beforeBorrow:afterBorrow]@borrowThread -> borrowTwo@main")}) public void testBlockedKeyDoesNotBlockPoolImproved() throws Exception { SimpleFactory factory = new SimpleFactory(); GenericKeyedObjectPool pool = new GenericKeyedObjectPool(factory); pool.setWhenExhaustedAction(GenericObjectPool.WHEN_EXHAUSTED_BLOCK); pool.setMaxActive(1); pool.setMaxTotal(-1); // Borrow with one key Object obj = pool.borrowObject("one"); // Borrow again with same key, should be blocked Runnable simple = new SimpleTestThread(pool, "one"); Thread borrowThread = new Thread(simple, "borrowThread"); borrowThread.start(); // Wait for sometime and borrow with another key // Should not block Thread.sleep(1000); pool.borrowObject("two"); assertEquals(1, pool.getNumActive("one")); assertEquals(1, pool.getNumActive("two")); // Unblock and join the thread pool.returnObject("one", obj); borrowThread.join(); assertEquals(0, pool.getNumActive("one")); assertEquals(1, pool.getNumActive("two")); }
From source file:edu.illinois.imunit.examples.apache.pool.TestGenericKeyedObjectPool.java
@Test @Schedules({/*from w w w.j a va 2 s. c o m*/ @Schedule(name = "BorrowOneBeforeTwo", value = "[beforeBorrow:afterBorrow]@borrowThread -> borrowTwo@main") }) public void testBlockedKeyDoesNotBlockPoolImproved() throws Exception { SimpleFactory factory = new SimpleFactory(); GenericKeyedObjectPool pool = new GenericKeyedObjectPool(factory); pool.setWhenExhaustedAction(GenericObjectPool.WHEN_EXHAUSTED_BLOCK); pool.setMaxActive(1); pool.setMaxTotal(-1); // Borrow with one key Object obj = pool.borrowObject("one"); // Borrow again with same key, should be blocked Runnable simple = new SimpleTestThread(pool, "one"); Thread borrowThread = new Thread(simple, "borrowThread"); borrowThread.start(); // Wait for sometime and borrow with another key // Should not block Thread.sleep(1000); fireEvent("borrowTwo"); pool.borrowObject("two"); assertEquals(1, pool.getNumActive("one")); assertEquals(1, pool.getNumActive("two")); // Unblock and join the thread pool.returnObject("one", obj); borrowThread.join(); assertEquals(0, pool.getNumActive("one")); assertEquals(1, pool.getNumActive("two")); }
From source file:edu.illinois.enforcemop.examples.apache.pool.TestGenericKeyedObjectPool.java
public void testBlockedKeyDoesNotBlockPool() throws Exception { SimpleFactory factory = new SimpleFactory(); GenericKeyedObjectPool pool = new GenericKeyedObjectPool(factory); pool.setWhenExhaustedAction(GenericObjectPool.WHEN_EXHAUSTED_BLOCK); pool.setMaxWait(5000);/* w ww . ja v a 2 s.c o m*/ pool.setMaxActive(1); pool.setMaxTotal(-1); pool.borrowObject("one"); long start = System.currentTimeMillis(); // Needs to be in a separate thread as this will block Runnable simple = new SimpleTestThread(pool, "one"); Thread borrowThread = new Thread(simple, "borrowThread"); borrowThread.start(); // This should be almost instant. If it isn't it means this thread got // stuck behind the thread created above which is bad. // Give other thread a chance to start //Thread.sleep(1000); pool.borrowObject("two"); long end = System.currentTimeMillis(); // If it fails it will be more than 4000ms (5000 less the 1000 sleep) // If it passes it should be almost instant // Use 3000ms as the threshold - should avoid timing issues on most // (all? platforms) //assertTrue ((end-start) < 4000); }