Author: jleroux
Date: Thu Jun 16 12:15:23 2016 New Revision: 1748695 URL: http://svn.apache.org/viewvc?rev=1748695&view=rev Log: "Applied fix from trunk for revision: 1748689" ------------------------------------------------------------------------ r1748689 | jleroux | 2016-06-16 13:46:03 +0200 (jeu. 16 juin 2016) | 10 lignes Fixes "The Connection Pool Status feature in webtools is broken" - https://issues.apache.org/jira/browse/OFBIZ-7363 The Connection Pool Status feature was introduced by OFBIZ-4864 hence 1st in R13.07 where it still work well (see demo), as the connection pooling. But has been broken since, with the pooling. Fortunately, it's easy to fix and has no implications has long has you don't enable verbose logging (the DebugManagedDataSource only extends ManagedDataSource for verbose logging and to generate the info needed for the Connection Pool Status feature). I fixed it by using directly the DebugManagedDataSource. It's not an issue as long as you don't set the logging level to verbose which is anyway not something you would do in production. In case you do so and don't want to be disturbed in the log (focusing on something else), it's still easy to comment out the line from DebugManagedDataSource. I also fixed some type warnings while at it. I also removed this old comment // Hmm... then how do we close the JDBC connections? Because "we" don't close JDBC connections, DBPC takes care of that (or at least should, I did not check). ------------------------------------------------------------------------ Modified: ofbiz/branches/release15.12/ (props changed) ofbiz/branches/release15.12/framework/entity/src/org/ofbiz/entity/connection/DBCPConnectionFactory.java Propchange: ofbiz/branches/release15.12/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Thu Jun 16 12:15:23 2016 @@ -9,4 +9,4 @@ /ofbiz/branches/json-integration-refactoring:1634077-1635900 /ofbiz/branches/multitenant20100310:921280-927264 /ofbiz/branches/release13.07:1547657 -/ofbiz/trunk:1722712,1723007,1723248,1724402,1724411,1724566,1724689,1724763,1724916,1724918,1724925,1724930,1724940,1724943,1724946,1724951,1724957,1724975,1724978,1725006,1725217,1725257,1725561,1725574,1726388,1726486,1726493,1726828,1727894,1728398,1728411,1729005,1729078,1729609,1729809,1730035,1730456,1730735-1730736,1730747,1730758,1730882,1730889,1731382,1731396,1732454,1732570,1732721,1733951,1733956,1734246,1734269,1734276,1734912,1734918,1735021,1735244,1735385,1735398,1735569,1735731,1735734,1735750,1735753,1735756,1735759,1735773,1736083,1736087,1736272,1736434,1736628,1736851,1736854,1736890,1737156,1737440,1738235,1738303,1738407,1738902,1739438,1739448,1739571,1740008,1740442,1740629,1741146,1741563,1741684,1741925,1741930,1741960,1742018,1742097,1742103,1742712,1742737,1742741,1743025,1743027,1743230,1743411-1743412,1743656,1743937,1744117,1744198,1744396,1744662,1744768,1744773,1744873,1744911,1745111,1745264,1745428,1745438,1745573,1745577,1745592,1745751,1746228, 1746422,1746459,1746524,1746527,1746536,1746601,1746676,1746714,1746755,1746805,1746832,1746890,1747223,1747349,1747498,1747639,1747642,1747646,1747650,1747661,1747956,1747959,1747963,1748121,1748133,1748206,1748218,1748223,1748260,1748357,1748394,1748401,1748543,1748559 +/ofbiz/trunk:1722712,1723007,1723248,1724402,1724411,1724566,1724689,1724763,1724916,1724918,1724925,1724930,1724940,1724943,1724946,1724951,1724957,1724975,1724978,1725006,1725217,1725257,1725561,1725574,1726388,1726486,1726493,1726828,1727894,1728398,1728411,1729005,1729078,1729609,1729809,1730035,1730456,1730735-1730736,1730747,1730758,1730882,1730889,1731382,1731396,1732454,1732570,1732721,1733951,1733956,1734246,1734269,1734276,1734912,1734918,1735021,1735244,1735385,1735398,1735569,1735731,1735734,1735750,1735753,1735756,1735759,1735773,1736083,1736087,1736272,1736434,1736628,1736851,1736854,1736890,1737156,1737440,1738235,1738303,1738407,1738902,1739438,1739448,1739571,1740008,1740442,1740629,1741146,1741563,1741684,1741925,1741930,1741960,1742018,1742097,1742103,1742712,1742737,1742741,1743025,1743027,1743230,1743411-1743412,1743656,1743937,1744117,1744198,1744396,1744662,1744768,1744773,1744873,1744911,1745111,1745264,1745428,1745438,1745573,1745577,1745592,1745751,1746228, 1746422,1746459,1746524,1746527,1746536,1746601,1746676,1746714,1746755,1746805,1746832,1746890,1747223,1747349,1747498,1747639,1747642,1747646,1747650,1747661,1747956,1747959,1747963,1748121,1748133,1748206,1748218,1748223,1748260,1748357,1748394,1748401,1748543,1748559,1748689 Modified: ofbiz/branches/release15.12/framework/entity/src/org/ofbiz/entity/connection/DBCPConnectionFactory.java URL: http://svn.apache.org/viewvc/ofbiz/branches/release15.12/framework/entity/src/org/ofbiz/entity/connection/DBCPConnectionFactory.java?rev=1748695&r1=1748694&r2=1748695&view=diff ============================================================================== --- ofbiz/branches/release15.12/framework/entity/src/org/ofbiz/entity/connection/DBCPConnectionFactory.java (original) +++ ofbiz/branches/release15.12/framework/entity/src/org/ofbiz/entity/connection/DBCPConnectionFactory.java Thu Jun 16 12:15:23 2016 @@ -31,7 +31,6 @@ import javax.transaction.TransactionMana import org.apache.commons.dbcp2.DriverConnectionFactory; import org.apache.commons.dbcp2.PoolableConnectionFactory; import org.apache.commons.dbcp2.managed.LocalXAConnectionFactory; -import org.apache.commons.dbcp2.managed.ManagedDataSource; import org.apache.commons.dbcp2.managed.PoolableManagedConnectionFactory; import org.apache.commons.dbcp2.managed.XAConnectionFactory; import org.apache.commons.pool2.impl.GenericObjectPool; @@ -54,11 +53,11 @@ import org.ofbiz.entity.transaction.Tran public class DBCPConnectionFactory implements ConnectionFactory { public static final String module = DBCPConnectionFactory.class.getName(); - protected static final ConcurrentHashMap<String, ManagedDataSource> dsCache = new ConcurrentHashMap<String, ManagedDataSource>(); + protected static final ConcurrentHashMap<String, DebugManagedDataSource> dsCache = new ConcurrentHashMap<String, DebugManagedDataSource>(); public Connection getConnection(GenericHelperInfo helperInfo, JdbcElement abstractJdbc) throws SQLException, GenericEntityException { String cacheKey = helperInfo.getHelperFullName(); - ManagedDataSource mds = dsCache.get(cacheKey); + DebugManagedDataSource mds = dsCache.get(cacheKey); if (mds != null) { return TransactionUtil.getCursorConnection(helperInfo, mds.getConnection()); } @@ -144,7 +143,7 @@ public class DBCPConnectionFactory imple GenericObjectPool pool = new GenericObjectPool(factory, poolConfig); factory.setPool(pool); - mds = new ManagedDataSource(pool, xacf.getTransactionRegistry()); + mds = new DebugManagedDataSource(pool, xacf.getTransactionRegistry()); //mds = new DebugManagedDataSource(pool, xacf.getTransactionRegistry()); // Useful to debug the usage of connections in the pool mds.setAccessToUnderlyingConnectionAllowed(true); @@ -163,9 +162,9 @@ public class DBCPConnectionFactory imple public static Map<String, Object> getDataSourceInfo(String helperName) { Map<String, Object> dataSourceInfo = new HashMap<String, Object>(); - ManagedDataSource mds = dsCache.get(helperName); + DebugManagedDataSource mds = dsCache.get(helperName); if (mds instanceof DebugManagedDataSource) { - dataSourceInfo = ((DebugManagedDataSource)mds).getInfo(); + dataSourceInfo = mds.getInfo(); } return dataSourceInfo; } |
Free forum by Nabble | Edit this page |