Issue Details (XML | Word | Printable)

Key: DBCP-228
Type: New Feature New Feature
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Unassigned
Reporter: Dain Sundstrom
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Commons Dbcp

[dbcp] Managed Connection support

Created: 04/Jul/07 12:56 AM   Updated: 25/Mar/08 08:11 AM
Return to search
Component/s: None
Affects Version/s: None
Fix Version/s: None

Time Tracking:
Not Specified

File Attachments:
  Size
Text File Licensed for inclusion in ASF works ManagedConnection.patch 2007-07-04 12:56 AM Dain Sundstrom 81 kB

Resolution Date: 05/Jul/07 02:13 PM


 Description  « Hide
This patch adds support for pooling of ManagedConnections. A managed connection is responsible for managing a database connection in a transactional environment (typically called "Container Managed"). A managed connection opperates like any other connection when no gloabal transaction (a.k.a. XA transaction or JTA Transaction) is in progress. When a global transaction is active a single physical connection to the database is used by all ManagedConnections accessed in the scope of the transaction. Connection sharing means that all data access during a transaction has a consistent view of the database. When the global transaction is committed or rolled back the enlisted connections are committed or rolled back.

This patch supports full XADataSources and non-XA data sources using local transaction semantics. non-XA data sources commit and rollback as part of the transaction but are not recoverable in the case of an error because they do not implement the two-phase commit protocol.

The patch includes test cases and javadoc comments.



 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Repository Revision Date User Message
ASF #553511 Thu Jul 05 14:12:47 UTC 2007 psteitz Added support for pooling managed connections.
JIRA: DBCP-228
Patch provided by Dain Sundstrom.
Files Changed
MODIFY /jakarta/commons/proper/dbcp/trunk/pom.xml
MODIFY /jakarta/commons/proper/dbcp/trunk/build.xml
ADD /jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/managed/TransactionContextListener.java
ADD /jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/managed
ADD /jakarta/commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/managed/TestManagedDataSourceInTx.java
MODIFY /jakarta/commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/TesterConnection.java
MODIFY /jakarta/commons/proper/dbcp/trunk/project.xml
ADD /jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/managed/ManagedDataSource.java
ADD /jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/managed/LocalXAConnectionFactory.java
MODIFY /jakarta/commons/proper/dbcp/trunk/build.properties.sample
ADD /jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/managed/XAConnectionFactory.java
ADD /jakarta/commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/managed/TestManagedDataSource.java
ADD /jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/managed/DataSourceXAConnectionFactory.java
ADD /jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/managed/ManagedConnection.java
ADD /jakarta/commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/managed
ADD /jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/managed/TransactionContext.java
ADD /jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/managed/TransactionRegistry.java
MODIFY /jakarta/commons/proper/dbcp/trunk/project.properties
MODIFY /jakarta/commons/proper/dbcp/trunk/xdocs/changes.xml
ADD /jakarta/commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/TesterCallableStatement.java