Class JDBCResourceFactory
java.lang.Object
com.gargoylesoftware.base.resource.ResourceFactory
com.gargoylesoftware.base.resource.jdbc.JDBCResourceFactory
A ResourceFactory for JDBC connections
- Version:
- $Revision: 1.4 $
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionJDBCResourceFactory
(String databaseName, String userName, String password) Create the factory.JDBCResourceFactory
(String databaseName, String userName, String password, boolean verifyThatConnectionCanBeOpened) Create the factory. -
Method Summary
Modifier and TypeMethodDescriptionprotected final Connection
allocateRealConnection
(String databaseName, String userName, String password) Allocate a real database connection from the DriverManagerprivate void
protected final void
freeRealConnection
(Connection connection) Free a real database connectionprotected ManagedResource
getResourceImpl
(ResourceManager resourceManager) Allocate a resource for the specified storeboolean
Reinitialize the resource to a known state.protected void
releaseResourceImpl
(ResourceManager resourceManager, ManagedResource resource) Release the specified resource.Methods inherited from class com.gargoylesoftware.base.resource.ResourceFactory
getResource, releaseAllResources, releaseResource
-
Field Details
-
databaseName_
-
userName_
-
password_
-
-
Constructor Details
-
JDBCResourceFactory
public JDBCResourceFactory(String databaseName, String userName, String password) throws SQLException Create the factory. The database driver must have been registered prior to creating an instance of this class. This constructor will always try to allocate one connection right away to ensure that the database information was entered correctly.- Parameters:
databaseName
- The name of the databaseuserName
- The user id that we will use to connect to the databasepassword
- The password for the specified user- Throws:
SQLException
- If an error occurs
-
JDBCResourceFactory
public JDBCResourceFactory(String databaseName, String userName, String password, boolean verifyThatConnectionCanBeOpened) throws SQLException Create the factory. The database driver must have been registered prior to creating an instance of this class.- Parameters:
databaseName
- The name of the databaseuserName
- The user id that we will use to connect to the databasepassword
- The password for the specified userverifyThatConnectionCanBeOpened
- If true than one connection will be immediately allocated and then freed from the specified database- Throws:
SQLException
- If an error occurs
-
-
Method Details
-
reinitializeResourceIfPossible
Reinitialize the resource to a known state. This is required for resource pooling as all resources being returned from a pool must have been initialized to a known state.- Specified by:
reinitializeResourceIfPossible
in classResourceFactory
- Parameters:
resource
- the resource to reinitialize- Returns:
- true if the resource was successfully reinitialized
-
getResourceImpl
Allocate a resource for the specified store- Specified by:
getResourceImpl
in classResourceFactory
- Parameters:
resourceManager
- The resource manager that owns this factory- Returns:
- The new resource
- Throws:
Exception
- If an error occurs
-
releaseResourceImpl
protected void releaseResourceImpl(ResourceManager resourceManager, ManagedResource resource) throws Exception Release the specified resource. It must have been allocated by the specified store- Specified by:
releaseResourceImpl
in classResourceFactory
- Parameters:
resourceManager
- The manager that is controlling this factoryresource
- The resource that we are releasing- Throws:
Exception
- If an error occurs
-
allocateRealConnection
protected final Connection allocateRealConnection(String databaseName, String userName, String password) throws SQLException Allocate a real database connection from the DriverManager- Parameters:
databaseName
- The name of the databaseuserName
- The user id that we will use to connect to the databasepassword
- The password for the specified user- Returns:
- A new connection
- Throws:
SQLException
- If an error occurs
-
freeRealConnection
Free a real database connection- Parameters:
connection
- The connection to release- Throws:
SQLException
- If an error occurs
-
ensureDatabaseCanBeOpened
- Throws:
SQLException
-