Changes between Version 4 and Version 5 of DatabaseConnectionsForThreadsAndNewPool


Ignore:
Timestamp:
Jan 31, 2011, 11:17:06 PM (13 years ago)
Author:
simonp
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DatabaseConnectionsForThreadsAndNewPool

    v4 v5  
    2222However 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.
    2323
    24 This proposal will add the following calls to the !ResourceManager to support threads that need a database connection in GeoNetwork/Jeeves:
     24This proposal will add the following calls to the !ResourceManager to support threads that need a database connection in !GeoNetwork/Jeeves:
    2525
    26  * openDirect(): essentially does the same as open but does not keep a reference to the Dbms resource in the ResourceManager hashtable
     26 * openDirect(): essentially does the same as open but does not keep a reference to the Dbms resource in the !ResourceManager hashtable
    2727 * close(String name, Object resource): closes the resource from the named resource provider
    2828
    2929In addition the proposal will add:
    3030
    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 code
     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 code in jeeves/src/main/java/jeeves/resources/dbms/DbmsPool.java
    3232 * 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 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   
     33 * 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   
    3434
    3535=== Proposal Type ===
    36  * '''Type''': Core Change and change to coding procedures ie. use new ResourceManager calls for threads that need database connections, use ThreadPool to execute threads
     36 * '''Type''': Core Change and change to coding procedures ie. use new !ResourceManager calls for threads that need database connections, use !ThreadPool to execute threads
    3737 * '''App''': !GeoNetwork
    3838 * '''Module''': Kernel and services