Below is some parameters of Proxol:
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 Tests WHether Any NEED To Be Destroyed or created.
DEFAULT IS 30 SECONDS.
House-Keeping-Test-SQL:
If the house keeping thread finds and 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.
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 The You Get An Sqlexception Saying So.
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.
House-Keeping-Test-SQL:
If the house keeping thread finds and 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.
Maximum-Connection-Count:
The Maximum Number of Connections to the Database.
DEFAULT IS 15.
Maximum-Connection-Lifetime:
The Maximum Amount of Time That A Connection Exists for Before IT IS Killed (MilliseConds).
DEFAULT IS 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 are not 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 do not all decide to build a connection at once. (We could SOLVE THIS IN A SMARTER WAY - AND INDEED We Will One Day) Default IS 10.
Minimum-connection-count:
In.
DEFAULT IS 5.
Recently-start-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.
DEFAULT IS 60 SECONDS.
Overload-without-refusal-lifetime:
This Helps US DETERMINE The Pool Status. If We Have Refused A Connection With Threshold (Milliseconds).
DEFAULT IS 60 SECONDS.
Maximum-active-time: Note that he is in milliseconds 1S = 1000ms
If The Housekeeper Comes Across A Thread That Has Been Active for Longer Than This (in MilliseConds) The IT Will Kill It. So Make Sure You Set this to a Number Bigger Than Your Slowst Expected Response!
DEFAULT IS 5 minutes.
Verbose:
Either false (quiet) or true (LOUD).
DEFAULT IS 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).
DEFAULT IS FALSE.
Fatal-SQL-Exception:
A comma separated list of message fragments. When an SQLException occurs its message is compared to each of these fragments. If it contains any of them (case sensitive) then it is detected as a Fatal SQL Exception. This causes that connection to be discarded. Regardless of what happens, The Exception is thrown again so this user knows what has happened. You can optionally to be thrtown (see
Fatal-Sql-Exception-Wrapper-Class Property
DEFAULT IS NULL.
Fatal-SQL-Exception-Wrapper-Class:
IF you have configured
fatal-sql-exception then the default behaviour is to discard the exception that causes the fatal SQLException and then just throw the original exception to the user. Using this property you can wrap the SQLException up inside another exception. This exception can be anything you want As Long As IT Either Extends Sqlexception or RuntimeException. Proxool Provides Two Classes Which You Can Use IF you don't want to build your ip:
FATALSQLEXCEPTION AND
FatalRuntimeException. To make use of those you should set this property to either 'org.logicalcobwebs.proxool.FatalSQLException' or 'org.logicalcobwebs.proxool.FatalRuntimeException' as appropriate.
Default Is Null (Fatal Sqlexceptions Are Not Wrappe).
DEFAULT IS NULL.
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 does not 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 IS 0.
Statistics:
THE SAMPLE LENGTH WHEN TAKING StatiTical Information, Comma-Delimited. For Example: '10s, 15m' Would Mean Take Samples Every 10 Seconds and Every 15 Minutes. Valid Units Are S (Econds), M (InUces) D (ays).
Default Is Null (No Statistics).
Statistics-log-level:
WHETER STATISTISTICED. Range: Debug, Info, Warn, Error, Fatal. Not to be confused with the level used with the general log. You have
CONFIGURE THAT Separately.
Default is null (no logging).
JMX:
If True The Pool Will Be Registered As An Mbean To a JMX Server with The Following Object Name: "Proxool: Type = Pool, Name =
DEFAULT IS FALSE.
JMX-Agent-ID:
A comma separated list of JMX agent ids (as used by MBeanServerFactory.findMBeanServer (String agentId)) to register the pool to. This property is only used if the "jmx" property is set to "true". All registered JMX servers will be Used if this property is not set.