List of usage examples for org.apache.commons.pool.impl GenericKeyedObjectPool setLifo
public synchronized void setLifo(boolean lifo)
From source file:com.tasktop.c2c.server.common.service.tests.ajp.AjpProtocolTest.java
@Ignore // This sometimes fails on the CI server @Test//from w w w. j a va 2s.co 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); uniSocketPool.setMaxIdle(1);/*w w w. j a v a 2 s.co m*/ 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); uniSocketPool.setMaxIdle(1);/* www .j av a 2s.c om*/ 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
private void checkEvictionOrder(boolean lifo) throws Exception { SimpleFactory factory = new SimpleFactory(); GenericKeyedObjectPool pool = new GenericKeyedObjectPool(factory); pool.setNumTestsPerEvictionRun(2);// w w w .j av a 2 s. co m pool.setMinEvictableIdleTimeMillis(100); pool.setLifo(lifo); for (int i = 0; i < 3; i++) { Integer key = new Integer(i); for (int j = 0; j < 5; j++) { pool.addObject(key); } } // Make all evictable Thread.sleep(200); /* * Initial state (Key, Object) pairs in order of age: * * (0,0), (0,1), (0,2), (0,3), (0,4) * (1,5), (1,6), (1,7), (1,8), (1,9) * (2,10), (2,11), (2,12), (2,13), (2,14) */ pool.evict(); // Kill (0,0),(0,1) assertEquals(3, pool.getNumIdle(zero)); Object obj = pool.borrowObject(zero); assertTrue(lifo ? obj.equals("04") : obj.equals("02")); assertEquals(2, pool.getNumIdle(zero)); obj = pool.borrowObject(zero); assertTrue(obj.equals("03")); assertEquals(1, pool.getNumIdle(zero)); pool.evict(); // Kill remaining 0 survivor and (1,5) assertEquals(0, pool.getNumIdle(zero)); assertEquals(4, pool.getNumIdle(one)); obj = pool.borrowObject(one); assertTrue(lifo ? obj.equals("19") : obj.equals("16")); assertEquals(3, pool.getNumIdle(one)); obj = pool.borrowObject(one); assertTrue(lifo ? obj.equals("18") : obj.equals("17")); assertEquals(2, pool.getNumIdle(one)); pool.evict(); // Kill remaining 1 survivors assertEquals(0, pool.getNumIdle(one)); pool.evict(); // Kill (2,10), (2,11) assertEquals(3, pool.getNumIdle(two)); obj = pool.borrowObject(two); assertTrue(lifo ? obj.equals("214") : obj.equals("212")); assertEquals(2, pool.getNumIdle(two)); pool.evict(); // All dead now assertEquals(0, pool.getNumIdle(two)); pool.evict(); // Should do nothing - make sure no exception pool.evict(); // Reload pool.setMinEvictableIdleTimeMillis(500); factory.counter = 0; // Reset counter for (int i = 0; i < 3; i++) { Integer key = new Integer(i); for (int j = 0; j < 5; j++) { pool.addObject(key); } Thread.sleep(200); } // 0's are evictable, others not pool.evict(); // Kill (0,0),(0,1) assertEquals(3, pool.getNumIdle(zero)); pool.evict(); // Kill (0,2),(0,3) assertEquals(1, pool.getNumIdle(zero)); pool.evict(); // Kill (0,4), leave (1,5) assertEquals(0, pool.getNumIdle(zero)); assertEquals(5, pool.getNumIdle(one)); assertEquals(5, pool.getNumIdle(two)); pool.evict(); // (1,6), (1,7) assertEquals(5, pool.getNumIdle(one)); assertEquals(5, pool.getNumIdle(two)); pool.evict(); // (1,8), (1,9) assertEquals(5, pool.getNumIdle(one)); assertEquals(5, pool.getNumIdle(two)); pool.evict(); // (2,10), (2,11) assertEquals(5, pool.getNumIdle(one)); assertEquals(5, pool.getNumIdle(two)); pool.evict(); // (2,12), (2,13) assertEquals(5, pool.getNumIdle(one)); assertEquals(5, pool.getNumIdle(two)); pool.evict(); // (2,14), (1,5) assertEquals(5, pool.getNumIdle(one)); assertEquals(5, pool.getNumIdle(two)); Thread.sleep(200); // Ones now timed out pool.evict(); // kill (1,6), (1,7) - (1,5) missed assertEquals(3, pool.getNumIdle(one)); assertEquals(5, pool.getNumIdle(two)); obj = pool.borrowObject(one); assertTrue(lifo ? obj.equals("19") : obj.equals("15")); }