alias=\
The name used to uniquely identify the pool to Proxool.

driver-url=\
The delegate JDBC driver class.

driver-properties=\
A set of comma separated propeties that are passed to the delegate driver. \
Example: user=foo, password=bar.

fatal-sql-exception=\
All SQLExceptions are caught and tested for containing this text fragment. \
If it matches than this connection is considered useless and it is discarded. \
Regardless of what happens the exception is always thrown again. This property \
behaves like a collection; separate multiple exception fragments with a comma. \
Default: null.

fatal-sql-exception-wrapper-class=\
If this is not-null then any fatal SQLException is wrapped up inside \
an instance of this class. If null, then the original exception is \
thrown. Range: any valid class name that is a subclass of SQLException or \
RuntimeException. Default: null (original exception is thrown) \
Examples: 'org.logicalcobwebs.proxool.FatalSQLException' or \
org.logicalcobwebs.proxool.FatalRuntimeException'

house-keeping-sleep-time=\
How long the house keeping thread sleeps for (milliseconds). \
The house keeper is responsible for checking the state of all the connections and sees whether any need to be \
destroyed or created. It also runs any tests that have been configured. Default is 30000 (30 seconds).

house-keeping-test-sql=\
If the house keeping thread finds any idle connections it will test them \
with this SQL statement. It should be _very_ quick to execute. Something like checking the current date or something. \
If not defined then this test is omitted. Default: null.

injectable-connection-interface=\
If this is set then all connections will implement this interface. You will be able to cast a served connection \
into this interface and call any of its methods. Note: the vendor connection does not have to implement this method \
directly - in fact it shouldn't, because if it does it will be exposed automatically. If the vendor connection \
doesn't implement a method that matches the signature of the interface method then you will get a RuntimeException \
when you try and call that method. Default: null (no additional interfaces are exposed.

injectable-statement-interface=\
If this is set then all statements will implement this interface. You will be able to cast a served statement \
into this interface and call any of its methods. Note: the vendor statement does not have to implement this method \
directly - in fact it shouldn't, because if it does it will be exposed automatically. If the vendor statement \
doesn't implement a method that matches the signature of the interface method then you will get a RuntimeException \
when you try and call that method. Default: null (no additional interfaces are exposed.

injectable-prepared-statement-interface=\
If this is set then all prepared statements will implement this interface. You will be able to cast a served prepared statement \
into this interface and call any of its methods. Note: the vendor prepared statement does not have to implement this method \
directly - in fact it shouldn't, because if it does it will be exposed automatically. If the vendor prepared statement \
doesn't implement a method that matches the signature of the interface method then you will get a RuntimeException \
when you try and call that method. Default: null (no additional interfaces are exposed.

injectable-callable-statement-interface=\
If this is set then all callable statements will implement this interface. You will be able to cast a served callable statement \
into this interface and call any of its methods. Note: the vendor callable statement does not have to implement this method \
directly - in fact it shouldn't, because if it does it will be exposed automatically. If the vendor callable statement \
doesn't implement a method that matches the signature of the interface method then you will get a RuntimeException \
when you try and call that method. Default: null (no additional interfaces are exposed.

jmx=\
Indicate wether this pool should be registered with JMX or not. True or false. Default is false.

jmx-agent-id=\
Get a comma separated list of JMX agent ids (as used by MBeanServerFactory) to register the pool to.

maximum-active-time=\
If the housekeeper comes across a thread that has been active for longer than \
this then it will kill it. So make sure you set this to a number bigger than your slowest expected response! \
Units: milliseconds. Default: 300000 (5 minutes).

maximum-connection-count=\
The maximum number of connections to the database. Default: 15.

maximum-connection-lifetime=\
The maximum amount of time that a connection exists for before it is \
killed. Units: milliseconds. Default: 14400000 (4 hours).

maximum-new-connections=\
This is the maximum number of connections we can be building at any \
one time. That is, the number of new connections that have been requested but aren't yet available for use. \
Because connections can be built using more than one thread (for instance, when they are built on demand) and it \
takes a finite time between deciding to build the connection and it becoming available we need some way of ensuring \
that a lot of threads don't all decide to build a connection at once. (We could solve this in a smarter way - and \
indeed we will one day) Default: 10.

minimum-connection-count=\
The minimum number of connections we will keep open, regardless of \
whether anyone needs them or not. Default: 5.

overload-without-refusal-lifetime=\
This helps us determine the pool status. If we have refused a \
connection within this threshold (milliseconds) then we are overloaded. Units: milliseconds. Default: 60000 (1 minute).

prototype-count=\
If there are fewer than this number of connections available then we will \
build some more (assuming the maximum-connection-count is not exceeded). For example. Of we have 3 active \
connections and 2 available, but our prototype-count is 4 then it will attempt to build another 2. \
This differs from minimum-connection-count because it takes into account the number of active connections. \
minimum-connection-count is absolute and doesn't care how many are in use. prototype-count is the number of \
spare connections it strives to keep over and above the ones that are currently active. Default: 0.

recently-started-threshold=\
This helps us determine whether the pool status is up, down or \
overloaded. As long as at least one connection was started within this threshold (milliseconds) or there are some \
spare connections available then we assume the pool is up. Units: milliseconds. Default: 60000 (1 minute).

simultaneous-build-throttle=\
This is the maximum number of connections we can be building at any \
one time. That is, the number of new connections that have been requested but aren't yet available for use. \
Because connections can be built using more than one thread (for instance, when they are built on demand) and it \
takes a finite time between deciding to build the connection and it becoming available we need some way of ensuring \
that a lot of threads don't all decide to build a connection at once. (We could solve this in a smarter way - and \
indeed we will one day) Default: 10.

statistics=\
The sample length when taking statistical information, comma-delimited. \
For example: '10s,15m' would mean take samples every 10 seconds and every 15 minutes. Valid units are \
s(econds), m(inutes), h(ours) and d(ays). Default: null (no statistics).

statistics-log-level=\
Whether statistics are logged as they are produced. \
Range: DEBUG, INFO, WARN, ERROR, FATAL. Default: null (no logging).

test-after-use=\
If you set this to true then each connection is tested (with whatever is defined in \
house-keeping-test-sql) after it is closed (that is, returned to the connection pool). \
If a connection fails then it is discarded. True or false. Default: false.

test-before-use=\
If you set this to true then each connection is tested (with whatever is defined in house-keeping-test-sql) \
before being served. If a connection fails then it is discarded and another one is picked. If all \
connections fail a new one is built. If that one fails then you get an SQLException saying so. \
True or false. Default: false.

trace=\
If true then each SQL call gets logged (DEBUG level) along with the execution time. \
You can also get this information by registering a ConnectionListener (see ProxoolFacade). \
True or false. Default: false.

verbose=\
Either false (quiet) or true (loud). True or false. Default: false.

