Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## php.java.servlet
Class ConnectionPool

    java.lang.Object
      php.java.servlet.ConnectionPool

    public class ConnectionPool

extends java.lang.Object

A connection pool. Example:
`ConnectionPool pool = new ConnectionPool("127.0.0.1", 8080, 20, new ConnectionPool.Factory());
ConnectionPool.Connection conn = pool.openConnection();
InputStream in = conn.getInputStream();
OutputStream out = conn.getOutputStream();
...
in.close();
out.close();
...
pool.destroy();
`

Instead of using delegation (decorator pattern), it is possible to pass a factory which may create custom In- and OutputStreams. Example:
`new ConnectionPool(..., new ConnectionPool.Factory() {
public InputStream getInputStream() {
return new ConnectionPool.DefaultInputStream() {
...
}
}
}
`

Author:
  jostb

Nested Class Summary
`class` | `ConnectionPool.Connection` Represents the connection kept by the pool.
`static class` | `ConnectionPool.ConnectionException` Thrown when an IO exception occurs
`static class` | `ConnectionPool.DefaultInputStream` Default InputStream used by the connection pool.
`static class` | `ConnectionPool.DefaultOutputStream` Default OutputStream used by the connection pool.
`static class` | `ConnectionPool.Factory` In-/OutputStream factory.

Constructor Summary
`ConnectionPool(java.lang.String host, int port, int limit, ConnectionPool.Factory factory)` Create a new connection pool.

Method Summary
`void` | `destroy()` Destroy the connection pool.
`ConnectionPool.Connection` | `openConnection()` Opens a connection to the back end.

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ConnectionPool

    public ConnectionPool(java.lang.String host,
                          int port,
                          int limit,
                          ConnectionPool.Factory factory)
                   throws ConnectionPool.ConnectionException

  Create a new connection pool.

  Parameters:
    `host` - The host
    `port` - The port number
    `limit` - The max. number of physical connections
    `factory` - A factory for creating In- and OutputStreams.
  Throws:
    `ConnectionPool.ConnectionException`
    `UnknownHostException`
  See Also:
    `ConnectionPool.Factory`

Method Detail

### openConnection

    public ConnectionPool.Connection openConnection()
                                             throws java.lang.InterruptedException,
                                                    ConnectionPool.ConnectionException,
                                                    java.net.SocketException

  Opens a connection to the back end.

  Returns:
    The connection
  Throws:
    `UnknownHostException`
    `java.lang.InterruptedException`
    `java.net.SocketException`
    `java.io.IOException`
    `ConnectionPool.ConnectionException`

### destroy

    public void destroy()

  Destroy the connection pool. It releases all physical connections.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD