Patent ID: 9569472
Date: 2017-02-14
CPC Classifications: G06F

Claim:
1. A system for providing a second-level connection cache for use with a database environment, comprising: a computer including a processor and a database; an application server, wherein the application server includes a data source, wherein the data source is associated with a first-level data source connection cache, wherein the first-level data source connection cache includes at least one first-level database connection object, and wherein each first-level database connection object is attached to a session of the database; a second-level connection cache, which caches a plurality of no-session connection objects, wherein each no-session connection object includes a socket to the database together with network protocol information, and wherein each no-session connection is unattached to any session of the database; wherein, the data source receives a request for a connection from the software application; wherein, if there is an idle first-level database connection object in the first-level database connection cache, then the data source returns the idle first-level database connection object to the software application in response to the request; wherein, if each first-level database connection object in the first-level database connection cache is not idle and there is an idle no-session connection object in the second-level cache, then the system attaches a session of the database to the idle no-session connection object to form a complete connection object and returns the complete connection object to the software application in response to the request; and wherein, if each first-level database connection object in the first-level database connection cache is not idle and each no-session connection object in the second-level cache is not idle, then the system creates an un-cached connection object and attaches a session of the database to the un-cached connection object to form a new un-cached connection object and returns the new un-cached connection object to the software application in response to the request.