Author: fhanik Date: Tue Oct 28 08:00:22 2008 New Revision: 708592 URL: http://svn.apache.org/viewvc?rev=708592&view=rev Log: Make the polling fairness configurable
Modified: tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/DataSourceFactory.java tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/DataSourceProxy.java tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PoolProperties.java Modified: tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java URL: http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java?rev=708592&r1=708591&r2=708592&view=diff ============================================================================== --- tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java (original) +++ tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java Tue Oct 28 08:00:22 2008 @@ -265,7 +265,7 @@ //make space for 10 extra in case we flow over a bit busy = new ArrayBlockingQueue<PooledConnection>(properties.getMaxActive(),false); //make space for 10 extra in case we flow over a bit - idle = new ArrayBlockingQueue<PooledConnection>(properties.getMaxActive(),false); + idle = new ArrayBlockingQueue<PooledConnection>(properties.getMaxActive(),properties.isFairQueue()); //if the evictor thread is supposed to run, start it now if (properties.isPoolSweeperEnabled()) { Modified: tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/DataSourceFactory.java URL: http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/DataSourceFactory.java?rev=708592&r1=708591&r2=708592&view=diff ============================================================================== --- tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/DataSourceFactory.java (original) +++ tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/DataSourceFactory.java Tue Oct 28 08:00:22 2008 @@ -99,6 +99,7 @@ protected final static String PROP_INTERCEPTORS = "jdbcInterceptors"; protected final static String PROP_VALIDATIONINTERVAL = "validationInterval"; protected final static String PROP_JMX_ENABLED = "jmxEnabled"; + protected final static String PROP_FAIR_QUEUE = "fairQueue"; public static final int UNKNOWN_TRANSACTIONISOLATION = -1; @@ -135,7 +136,8 @@ PROP_CONNECTIONPROPERTIES, PROP_INITSQL, PROP_INTERCEPTORS, - PROP_JMX_ENABLED + PROP_JMX_ENABLED, + PROP_FAIR_QUEUE }; // -------------------------------------------------- ObjectFactory Methods @@ -380,6 +382,12 @@ if (value != null) { dataSource.getPoolProperties().setJmxEnabled(Boolean.parseBoolean(value)); } + + value = properties.getProperty(PROP_FAIR_QUEUE); + if (value != null) { + dataSource.getPoolProperties().setFairQueue(Boolean.parseBoolean(value)); + } + // Return the configured DataSource instance DataSource ds = getDataSource(dataSource); Modified: tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/DataSourceProxy.java URL: http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/DataSourceProxy.java?rev=708592&r1=708591&r2=708592&view=diff ============================================================================== --- tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/DataSourceProxy.java (original) +++ tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/DataSourceProxy.java Tue Oct 28 08:00:22 2008 @@ -284,6 +284,10 @@ this.getPoolProperties().setJmxEnabled(enabled); } + public void setFairQueue(boolean fairQueue) { + this.getPoolProperties().setFairQueue(fairQueue); + } + public void setConnectionProperties(String properties) { try { java.util.Properties prop = DataSourceFactory.getProperties(properties); Modified: tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PoolProperties.java URL: http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PoolProperties.java?rev=708592&r1=708591&r2=708592&view=diff ============================================================================== --- tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PoolProperties.java (original) +++ tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PoolProperties.java Tue Oct 28 08:00:22 2008 @@ -58,6 +58,15 @@ protected String initSQL; protected boolean testOnConnect =false; private String jdbcInterceptors=null; + private boolean fairQueue = false; + + public boolean isFairQueue() { + return fairQueue; + } + + public void setFairQueue(boolean fairQueue) { + this.fairQueue = fairQueue; + } public boolean isAccessToUnderlyingConnectionAllowed() { return accessToUnderlyingConnectionAllowed; --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]