Professional Documents
Culture Documents
ed.felt@bea.com, srirams@bea.com
BEA Systems, Inc.
• Ensure data integrity when accessing more than one data store,
especially in distributed environment
• Simple model for application programmer:
A - atomic
C - consistent
I - isolated
D - durable
Benefit #2: Monitoring & Management
• JDBC
– Recognized any JDBC driver that implements JDBC 2.0 XA extensions
– BEA provides Type 2 XA driver for Oracle 8.1.6 client
– JDBC wrapper enhances performance
• JMS
– Supports XA, can participate in JTA transactions
– All storage types: database, file, non-persistent
• EJB
– Automatically manages transactions based on EJB’s deployment descriptor
High-Level Architecture
Application
Transaction XA-Capable
Manager XA Resource
Performance Optimizations
• UserTransaction
– Basic methods to begin, commit, rollback transactions and get/set status
• TransactionManager
– Adds suspend, resume, get thread’s current Transaction object
• Transaction
– Represents on transaction, controls enlistment and synchronization
• Synchronization
– Callback interface for before/after completion notification
• XAResource
• Xid
• Various exceptions and status codes
BEA WebLogic Server Extensions
• weblogic.transaction.TxHelper
– Static methods to get Transaction, UserTransaction, and
TransactionManager objects
• weblogic.transaction.Transaction
– Get/set transaction name, transaction properties
– Get/set rollback reason
– Get timeout information
– Get Xid
• weblogic.transaction.TransactionManager
– XA resource registration
– Get transaction object by Xid
– Force suspend/resume (without XA calls)
Configuration Parameters (Per Domain)
• Transaction branches
– Connection pool name determines transaction branch qualifier
– Different pool names cause separate branches, even if connected to same
database
– Databases typically provide lock isolation between branches, shared locks
within a branch
– Benefits of multiple branches:
• Lock isolation protects independently developed components from unexpected
cross-interference
– Drawbacks of multiple branches:
• Lock conflicts can cause deadlock/timeout
• More overhead in transaction coordination, more XA calls
Configuration Parameters (JDBC)
• Counters
– Overall
– Subtotal by XAResource
– Subtotal by Transaction name
• Specific transactions
– List transactions more than XX seconds old
– “Old” transactions are the most interesting ones
Monitoring Summary
Monitoring Stats by Name
Monitoring Stats by Resource
Monitoring Individual Transactions
Coming Attractions
• Specifications
– http://www.java.sun.com/products/jta
– http://www.java.sun.com/j2ee
• BEA WebLogic Server 6.0 Documentation
– http://e-docs.bea.com
• News Group
– news://newsgroups.bea.com/weblogic.developer.interest.transaction
Questions & Answers