Author: jleroux
Date: Sun Sep 20 19:14:41 2009 New Revision: 817082 URL: http://svn.apache.org/viewvc?rev=817082&view=rev Log: Allow to set timeBetweenEvictionRunsMillis for each DB type from entityengine.xml. Keep default value at 600000 (10 min) Modified: ofbiz/trunk/framework/entity/config/entityengine.xml ofbiz/trunk/framework/entity/dtd/entity-config.xsd ofbiz/trunk/framework/entity/src/org/ofbiz/entity/connection/DBCPConnectionFactory.java Modified: ofbiz/trunk/framework/entity/config/entityengine.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/config/entityengine.xml?rev=817082&r1=817081&r2=817082&view=diff ============================================================================== --- ofbiz/trunk/framework/entity/config/entityengine.xml (original) +++ ofbiz/trunk/framework/entity/config/entityengine.xml Sun Sep 20 19:14:41 2009 @@ -143,7 +143,8 @@ jdbc-password="" isolation-level="ReadUncommitted" pool-minsize="2" - pool-maxsize="250"/> + pool-maxsize="250" + timeBetweenEvictionRunsMillis="600000"/> <!-- <jndi-jdbc jndi-server-name="localjndi" jndi-name="java:/HsqlDataSource" isolation-level="ReadUncommitted"/> --> <!-- <jndi-jdbc jndi-server-name="default" jndi-name="comp/env/jdbc/xa/localhsql" isolation-level="ReadUncommitted"/> --> <!-- Orion Style JNDI name --> <!-- <jndi-jdbc jndi-server-name="localjndi" jndi-name="localhsqlDataSource"/> --> <!-- Weblogic Style JNDI name --> @@ -169,7 +170,8 @@ jdbc-password="ofbiz" isolation-level="ReadCommitted" pool-minsize="2" - pool-maxsize="250"/> + pool-maxsize="250" + timeBetweenEvictionRunsMillis="600000"/> <!-- <jndi-jdbc jndi-server-name="localjndi" jndi-name="java:/DerbyDataSource" isolation-level="ReadCommitted"/> --> </datasource> <datasource name="localderbyodbc" @@ -188,7 +190,8 @@ jdbc-password="ofbiz" isolation-level="ReadCommitted" pool-minsize="2" - pool-maxsize="250"/> + pool-maxsize="250" + timeBetweenEvictionRunsMillis="600000"/> <!-- <jndi-jdbc jndi-server-name="localjndi" jndi-name="java:/DerbyDataSource" isolation-level="ReadCommitted"/> --> </datasource> <datasource name="localderbyolap" @@ -211,7 +214,8 @@ jdbc-password="ofbiz" isolation-level="ReadCommitted" pool-minsize="2" - pool-maxsize="250"/> + pool-maxsize="250" + timeBetweenEvictionRunsMillis="600000"/> <!-- <jndi-jdbc jndi-server-name="localjndi" jndi-name="java:/DerbyDataSource" isolation-level="ReadCommitted"/> --> </datasource> @@ -231,7 +235,8 @@ jdbc-password="ofbiz" isolation-level="ReadCommitted" pool-minsize="2" - pool-maxsize="250"/> + pool-maxsize="250" + timeBetweenEvictionRunsMillis="600000"/> <!-- <jndi-jdbc jndi-server-name="localjndi" jndi-name="java:/CloudscapeDataSource" isolation-level="Serializable"/> --> </datasource> @@ -253,7 +258,8 @@ jdbc-password="ofbiz" isolation-level="ReadCommitted" pool-minsize="2" - pool-maxsize="250"/> + pool-maxsize="250" + timeBetweenEvictionRunsMillis="600000"/> <!-- <jndi-jdbc jndi-server-name="localjndi" jndi-name="java:/DaffodilDataSource" isolation-level="ReadCommitted"/> --> </datasource> @@ -274,7 +280,8 @@ jdbc-password="ofbiz" isolation-level="ReadCommitted" pool-minsize="2" - pool-maxsize="250"/> + pool-maxsize="250" + timeBetweenEvictionRunsMillis="600000"/> </datasource> <datasource name="localmysql" @@ -301,7 +308,10 @@ jdbc-password="ofbiz" isolation-level="ReadCommitted" pool-minsize="2" - pool-maxsize="250"/> + pool-maxsize="250" + timeBetweenEvictionRunsMillis="600000"/><!-- Please note that at least one person has experienced a problem with this value with MySQL + and had to set it to -1 in order to avoid this issue. + For more look at http://markmail.org/thread/5sivpykv7xkl66px and http://commons.apache.org/dbcp/configuration.html--> <!-- <jndi-jdbc jndi-server-name="localjndi" jndi-name="java:/MySqlDataSource" isolation-level="Serializable"/> --> </datasource> <datasource name="odbcmysql" @@ -325,7 +335,8 @@ jdbc-password="ofbiz" isolation-level="ReadCommitted" pool-minsize="2" - pool-maxsize="250"/> + pool-maxsize="250" + timeBetweenEvictionRunsMillis="600000"/> <!-- <jndi-jdbc jndi-server-name="localjndi" jndi-name="java:/MySqlDataSource" isolation-level="Serializable"/> --> </datasource> @@ -353,9 +364,10 @@ jdbc-password="ofbiz" isolation-level="ReadCommitted" pool-minsize="2" - pool-maxsize="250"/><!-- Be warned that at this date (2009-06-09) the max_connections parameters in postgresql.conf - is set by default to 100 by the initdb process see http://www.postgresql.org/docs/8.3/static/runtime-config-connection.html#GUC-MAX-CONNECTIONS--> - + pool-maxsize="250" + timeBetweenEvictionRunsMillis="600000"/><!-- Be warned that at this date (2009-09-20) the max_connections parameters in postgresql.conf + is set by default to 100 by the initdb process see http://www.postgresql.org/docs/8.4/static/runtime-config-connection.html#GUC-MAX-CONNECTIONS--> + <!-- <jndi-jdbc jndi-server-name="default" jndi-name="java:comp/env/jdbc/localpostgres" isolation-level="ReadCommitted"/>--> <!-- <jndi-jdbc jndi-server-name="default" jndi-name="comp/env/jdbc/xa/localpostgres" isolation-level="ReadCommitted"/> --> <!-- Orion Style JNDI name --> <!-- <jndi-jdbc jndi-server-name="localweblogic" jndi-name="PostgresDataSource"/> --> <!-- Weblogic Style JNDI name --> @@ -388,7 +400,8 @@ jdbc-password="ofbiz" isolation-level="ReadCommitted" pool-minsize="2" - pool-maxsize="250"/> + pool-maxsize="250" + timeBetweenEvictionRunsMillis="600000"/> </datasource> <datasource name="localoracle" @@ -409,7 +422,8 @@ jdbc-username="ofbiz" jdbc-password="ofbiz" pool-minsize="2" - pool-maxsize="250"/> + pool-maxsize="250" + timeBetweenEvictionRunsMillis="600000"/> </datasource> <datasource name="localoracledd" helper-class="org.ofbiz.entity.datasource.GenericHelperDAO" @@ -425,7 +439,8 @@ jdbc-username="ofbiz" jdbc-password="ofbiz" pool-minsize="2" - pool-maxsize="250"/> + pool-maxsize="250" + timeBetweenEvictionRunsMillis="600000"/> </datasource> <datasource name="localsybase" @@ -447,7 +462,8 @@ jdbc-password="ofbiz1" isolation-level="ReadCommitted" pool-minsize="2" - pool-maxsize="250"/> + pool-maxsize="250" + timeBetweenEvictionRunsMillis="600000"/> </datasource> <datasource name="localsapdb" @@ -469,7 +485,8 @@ jdbc-password="ofbiz" isolation-level="ReadCommitted" pool-minsize="2" - pool-maxsize="250"/> + pool-maxsize="250" + timeBetweenEvictionRunsMillis="600000"/> <!-- <jndi-jdbc jndi-server-name="default" jndi-name="comp/env/jdbc/xa/localsapdb" isolation-level="ReadCommitted"/> --> <!-- Orion Style JNDI name --> <!-- <jndi-jdbc jndi-server-name="localweblogic" jndi-name="SapDBDataSource"/> --> <!-- Weblogic Style JNDI name --> <!-- <jndi-jdbc jndi-server-name="default" jndi-name="jdbc/localsapdb" isolation-level="ReadCommitted"/> --> <!-- JRun4 Style JNDI name --> @@ -495,7 +512,8 @@ jdbc-password="masterkey" isolation-level="ReadCommitted" pool-minsize="2" - pool-maxsize="250"/> + pool-maxsize="250" + timeBetweenEvictionRunsMillis="600000"/> <!-- Sample remote URI: jdbc-uri="jdbc:firebirdsql://localhost:3050//opt/interbase/data/ofbiz.gdb" --> <!-- <jndi-jdbc jndi-server-name="default" jndi-name="comp/env/jdbc/xa/localfirebird" isolation-level="ReadCommitted"/> --> <!-- Orion Style JNDI name --> <!-- <tyrex-dataSource dataSource-name="firebird" isolation-level="ReadCommitted"/> Ã --> @@ -536,7 +554,8 @@ jdbc-password="ofbiz" isolation-level="ReadCommitted" pool-minsize="2" - pool-maxsize="250"/> + pool-maxsize="250" + timeBetweenEvictionRunsMillis="600000"/> <!-- <jndi-jdbc jndi-server-name="default" jndi-name="comp/env/jdbc/xa/localmssql" isolation-level="ReadCommitted"/> --> <!-- Orion Style JNDI name --> </datasource> @@ -558,7 +577,8 @@ jdbc-password="ofbiz" isolation-level="ReadCommitted" pool-minsize="2" - pool-maxsize="250"/> + pool-maxsize="250" + timeBetweenEvictionRunsMillis="600000"/> <!-- <jndi-jdbc jndi-server-name="localjndi" jndi-name="java:/OracleDataSource" isolation-level="Serializable"/> --> </datasource> @@ -584,6 +604,7 @@ jdbc-password="adssys" isolation-level="ReadCommitted" pool-minsize="2" - pool-maxsize="250"/> + pool-maxsize="250" + timeBetweenEvictionRunsMillis="600000"/> </datasource> </entity-config> Modified: ofbiz/trunk/framework/entity/dtd/entity-config.xsd URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/dtd/entity-config.xsd?rev=817082&r1=817081&r2=817082&view=diff ============================================================================== --- ofbiz/trunk/framework/entity/dtd/entity-config.xsd (original) +++ ofbiz/trunk/framework/entity/dtd/entity-config.xsd Sun Sep 20 19:14:41 2009 @@ -425,6 +425,7 @@ </xs:attribute> <xs:attribute type="xs:nonNegativeInteger" name="pool-maxsize" default="50"/> <xs:attribute type="xs:nonNegativeInteger" name="pool-minsize" default="2"/> + <xs:attribute type="xs:nonNegativeInteger" name="timeBetweenEvictionRunsMillis" default="600000"/> <xs:attribute type="xs:nonNegativeInteger" name="pool-sleeptime" default="300000"/> <xs:attribute type="xs:nonNegativeInteger" name="pool-lifetime" default="600000"/> <xs:attribute type="xs:nonNegativeInteger" name="pool-deadlock-maxwait" default="300000"/> Modified: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/connection/DBCPConnectionFactory.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/connection/DBCPConnectionFactory.java?rev=817082&r1=817081&r2=817082&view=diff ============================================================================== --- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/connection/DBCPConnectionFactory.java (original) +++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/connection/DBCPConnectionFactory.java Sun Sep 20 19:14:41 2009 @@ -67,28 +67,38 @@ String dbPass = jotmJdbcElement.getAttribute("jdbc-password"); // pool settings - int maxSize, minSize; + int maxSize, minSize, timeBetweenEvictionRunsMillis; try { maxSize = Integer.parseInt(jotmJdbcElement.getAttribute("pool-maxsize")); } catch (NumberFormatException nfe) { Debug.logError("Problems with pool settings [pool-maxsize=" + jotmJdbcElement.getAttribute("pool-maxsize") + "]; the values MUST be numbers, using default of 20.", module); maxSize = 20; } catch (Exception e) { - Debug.logError(e, "Problems with pool settings", module); + Debug.logError("Problems with pool settings [pool-maxsize], using default of 20.", module); maxSize = 20; } try { minSize = Integer.parseInt(jotmJdbcElement.getAttribute("pool-minsize")); } catch (NumberFormatException nfe) { - Debug.logError("Problems with pool settings [pool-minsize=" + jotmJdbcElement.getAttribute("pool-minsize") + "]; the values MUST be numbers, using default of 5.", module); + Debug.logError("Problems with pool settings [pool-minsize=" + jotmJdbcElement.getAttribute("pool-minsize") + "]; the values MUST be numbers, using default of 2.", module); minSize = 2; } catch (Exception e) { - Debug.logError(e, "Problems with pool settings", module); + Debug.logError("Problems with pool settings [pool-minsize], using default of 2.", module); minSize = 2; } int maxIdle = maxSize / 2; maxIdle = maxIdle > minSize ? maxIdle : minSize; + try { + timeBetweenEvictionRunsMillis = Integer.parseInt(jotmJdbcElement.getAttribute("timeBetweenEvictionRunsMillis")); + } catch (NumberFormatException nfe) { + Debug.logError("Problems with pool settings [timeBetweenEvictionRunsMillis=" + jotmJdbcElement.getAttribute("timeBetweenEvictionRunsMillis") + "]; the values MUST be numbers, using default of 600000.", module); + timeBetweenEvictionRunsMillis = 600000; + } catch (Exception e) { + Debug.logError("Problems with pool settings [timeBetweenEvictionRunsMillis], using default of 600000.", module); + timeBetweenEvictionRunsMillis = 600000; + } + // load the driver Driver jdbcDriver; try { @@ -111,7 +121,8 @@ // configure the pool settings GenericObjectPool pool = new GenericObjectPool(); - pool.setTimeBetweenEvictionRunsMillis(600000); + + pool.setTimeBetweenEvictionRunsMillis(timeBetweenEvictionRunsMillis); pool.setMaxActive(maxSize); pool.setMaxIdle(maxIdle); pool.setMinIdle(minSize); |
Free forum by Nabble | Edit this page |