Changes between Version 4 and Version 5 of DatabaseConnectionsForThreadsAndNewPool
- Timestamp:
- 01/31/11 23:17:06 (14 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
DatabaseConnectionsForThreadsAndNewPool
v4 v5 22 22 However there is a need for threads that want a database connection to obtain a connection and hold that connection open even though the service that started the thread may have closed. 23 23 24 This proposal will add the following calls to the !ResourceManager to support threads that need a database connection in GeoNetwork/Jeeves:24 This proposal will add the following calls to the !ResourceManager to support threads that need a database connection in !GeoNetwork/Jeeves: 25 25 26 * openDirect(): essentially does the same as open but does not keep a reference to the Dbms resource in the ResourceManager hashtable26 * openDirect(): essentially does the same as open but does not keep a reference to the Dbms resource in the !ResourceManager hashtable 27 27 * close(String name, Object resource): closes the resource from the named resource provider 28 28 29 29 In addition the proposal will add: 30 30 31 * a new !ResourceProvider to pool database connections which uses the Apache Commons Database Connection Pool (ApacheDBCP.java) - this is a slightly more sophisticated approach to database connection pooling than the Jeeves DatabasePool.java code31 * a new !ResourceProvider to pool database connections which uses the Apache Commons Database Connection Pool (ApacheDBCP.java) - this is a slightly more sophisticated approach to database connection pooling than the Jeeves code in jeeves/src/main/java/jeeves/resources/dbms/DbmsPool.java 32 32 * threads to support safe background database operations for: increasing popularity of metadata (eg. in metadata show), logging search statistics, indexing metadata records after the servlet has started and potentially many other operations that can be put into the background as threads to not slow down critical operations such as search 33 * a configurable ThreadPool that all code can access through theGeonetContext which can be used to manage thread operations eg. place limits on the number of threads that can be executed at any one time33 * a configurable !ThreadPool that all code can access through the !GeonetContext which can be used to manage thread operations eg. place limits on the number of threads that can be executed at any one time 34 34 35 35 === Proposal Type === 36 * '''Type''': Core Change and change to coding procedures ie. use new ResourceManager calls for threads that need database connections, useThreadPool to execute threads36 * '''Type''': Core Change and change to coding procedures ie. use new !ResourceManager calls for threads that need database connections, use !ThreadPool to execute threads 37 37 * '''App''': !GeoNetwork 38 38 * '''Module''': Kernel and services